Bump upstreams for Silicon
[netconf.git] / restconf / restconf-common / src / main / java / org / opendaylight / restconf / common / util / AbstractOperationsModule.java
1 /*
2  * Copyright (c) 2020 PANTHEON.tech, s.r.o. and others.  All rights reserved.
3  *
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
7  */
8 package org.opendaylight.restconf.common.util;
9
10 import java.util.Collection;
11 import java.util.Collections;
12 import java.util.Map;
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;
37
38 abstract class AbstractOperationsModule implements Module, ModuleEffectiveStatement {
39     @Override
40     public final ModuleStatement getDeclared() {
41         return null;
42     }
43
44     @Override
45     public final StatementDefinition statementDefinition() {
46         return YangStmtMapping.MODULE;
47     }
48
49     @Override
50     public final StatementSource getStatementSource() {
51         return StatementSource.CONTEXT;
52     }
53
54     @Override
55     public final <K, V, N extends IdentifierNamespace<K, V>> Optional<? extends V> get(final Class<N> namespace,
56             final K identifier) {
57         return Optional.empty();
58     }
59
60     @Override
61     public final <K, V, N extends IdentifierNamespace<K, V>> Map<K, V> getAll(final Class<N> namespace) {
62         return Map.of();
63     }
64
65     @Override
66     public final UnqualifiedQName argument() {
67         return UnqualifiedQName.of(getName());
68     }
69
70     @Override
71     public final QNameModule localQNameModule() {
72         return getQNameModule();
73     }
74
75     @Override
76     public final Collection<? extends ModuleImport> getImports() {
77         // Yeah, not accurate, but this should not be needed
78         return Collections.emptySet();
79     }
80
81     @Override
82     public final YangVersion getYangVersion() {
83         return YangVersion.VERSION_1;
84     }
85
86     @Override
87     public final Collection<? extends TypeDefinition<?>> getTypeDefinitions() {
88         return Collections.emptySet();
89     }
90
91     @Override
92     public final Collection<? extends GroupingDefinition> getGroupings() {
93         return Collections.emptySet();
94     }
95
96     @Override
97     public final Collection<? extends UsesNode> getUses() {
98         return Collections.emptySet();
99     }
100
101     @Override
102     public final Optional<String> getDescription() {
103         return Optional.empty();
104     }
105
106     @Override
107     public final Optional<String> getReference() {
108         return Optional.empty();
109     }
110
111     @Override
112     public final Collection<? extends NotificationDefinition> getNotifications() {
113         return Collections.emptySet();
114     }
115
116     @Override
117     public final Optional<SemVer> getSemanticVersion() {
118         return Optional.empty();
119     }
120
121     @Override
122     public final Optional<String> getOrganization() {
123         return Optional.empty();
124     }
125
126     @Override
127     public final Optional<String> getContact() {
128         return Optional.empty();
129     }
130
131     @Override
132     public final Collection<? extends Submodule> getSubmodules() {
133         return Collections.emptySet();
134     }
135
136     @Override
137     public final Collection<? extends FeatureDefinition> getFeatures() {
138         return Collections.emptySet();
139     }
140
141     @Override
142     public final Collection<? extends AugmentationSchemaNode> getAugmentations() {
143         return Collections.emptySet();
144     }
145
146     @Override
147     public final Collection<? extends RpcDefinition> getRpcs() {
148         return Collections.emptySet();
149     }
150
151     @Override
152     public final Collection<? extends Deviation> getDeviations() {
153         return Collections.emptySet();
154     }
155
156     @Override
157     public final Collection<? extends IdentitySchemaNode> getIdentities() {
158         return Collections.emptySet();
159     }
160
161     @Override
162     public final Collection<? extends ExtensionDefinition> getExtensionSchemaNodes() {
163         return Collections.emptyList();
164     }
165
166     @Override
167     public final ModuleEffectiveStatement asEffectiveStatement() {
168         throw new UnsupportedOperationException();
169     }
170 }