2 * Copyright (c) 2020 PANTHEON.tech, s.r.o. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 package org.opendaylight.restconf.common.util;
10 import java.util.Collection;
11 import java.util.Collections;
13 import java.util.Optional;
14 import org.opendaylight.yangtools.concepts.SemVer;
15 import org.opendaylight.yangtools.yang.common.QNameModule;
16 import org.opendaylight.yangtools.yang.common.UnqualifiedQName;
17 import org.opendaylight.yangtools.yang.common.YangVersion;
18 import org.opendaylight.yangtools.yang.model.api.AugmentationSchemaNode;
19 import org.opendaylight.yangtools.yang.model.api.Deviation;
20 import org.opendaylight.yangtools.yang.model.api.ExtensionDefinition;
21 import org.opendaylight.yangtools.yang.model.api.FeatureDefinition;
22 import org.opendaylight.yangtools.yang.model.api.GroupingDefinition;
23 import org.opendaylight.yangtools.yang.model.api.IdentitySchemaNode;
24 import org.opendaylight.yangtools.yang.model.api.Module;
25 import org.opendaylight.yangtools.yang.model.api.ModuleImport;
26 import org.opendaylight.yangtools.yang.model.api.NotificationDefinition;
27 import org.opendaylight.yangtools.yang.model.api.RpcDefinition;
28 import org.opendaylight.yangtools.yang.model.api.Submodule;
29 import org.opendaylight.yangtools.yang.model.api.TypeDefinition;
30 import org.opendaylight.yangtools.yang.model.api.UsesNode;
31 import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
32 import org.opendaylight.yangtools.yang.model.api.meta.IdentifierNamespace;
33 import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
34 import org.opendaylight.yangtools.yang.model.api.meta.StatementSource;
35 import org.opendaylight.yangtools.yang.model.api.stmt.ModuleEffectiveStatement;
36 import org.opendaylight.yangtools.yang.model.api.stmt.ModuleStatement;
38 abstract class AbstractOperationsModule implements Module, ModuleEffectiveStatement {
40 public final ModuleStatement getDeclared() {
45 public final StatementDefinition statementDefinition() {
46 return YangStmtMapping.MODULE;
50 public final StatementSource getStatementSource() {
51 return StatementSource.CONTEXT;
55 public final <K, V, N extends IdentifierNamespace<K, V>> Optional<? extends V> get(final Class<N> namespace,
57 return Optional.empty();
61 public final <K, V, N extends IdentifierNamespace<K, V>> Map<K, V> getAll(final Class<N> namespace) {
66 public final UnqualifiedQName argument() {
67 return UnqualifiedQName.of(getName());
71 public final QNameModule localQNameModule() {
72 return getQNameModule();
76 public final Collection<? extends ModuleImport> getImports() {
77 // Yeah, not accurate, but this should not be needed
78 return Collections.emptySet();
82 public final YangVersion getYangVersion() {
83 return YangVersion.VERSION_1;
87 public final Collection<? extends TypeDefinition<?>> getTypeDefinitions() {
88 return Collections.emptySet();
92 public final Collection<? extends GroupingDefinition> getGroupings() {
93 return Collections.emptySet();
97 public final Collection<? extends UsesNode> getUses() {
98 return Collections.emptySet();
102 public final Optional<String> getDescription() {
103 return Optional.empty();
107 public final Optional<String> getReference() {
108 return Optional.empty();
112 public final Collection<? extends NotificationDefinition> getNotifications() {
113 return Collections.emptySet();
117 public final Optional<SemVer> getSemanticVersion() {
118 return Optional.empty();
122 public final Optional<String> getOrganization() {
123 return Optional.empty();
127 public final Optional<String> getContact() {
128 return Optional.empty();
132 public final Collection<? extends Submodule> getSubmodules() {
133 return Collections.emptySet();
137 public final Collection<? extends FeatureDefinition> getFeatures() {
138 return Collections.emptySet();
142 public final Collection<? extends AugmentationSchemaNode> getAugmentations() {
143 return Collections.emptySet();
147 public final Collection<? extends RpcDefinition> getRpcs() {
148 return Collections.emptySet();
152 public final Collection<? extends Deviation> getDeviations() {
153 return Collections.emptySet();
157 public final Collection<? extends IdentitySchemaNode> getIdentities() {
158 return Collections.emptySet();
162 public final Collection<? extends ExtensionDefinition> getExtensionSchemaNodes() {
163 return Collections.emptyList();
167 public final ModuleEffectiveStatement asEffectiveStatement() {
168 throw new UnsupportedOperationException();