ac61f7a50bbd23395b095a48de7093ce9af803b7
[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.eclipse.jdt.annotation.NonNull;
15 import org.opendaylight.yangtools.yang.common.QNameModule;
16 import org.opendaylight.yangtools.yang.common.UnresolvedQName;
17 import org.opendaylight.yangtools.yang.common.UnresolvedQName.Unqualified;
18 import org.opendaylight.yangtools.yang.common.YangVersion;
19 import org.opendaylight.yangtools.yang.model.api.AugmentationSchemaNode;
20 import org.opendaylight.yangtools.yang.model.api.Deviation;
21 import org.opendaylight.yangtools.yang.model.api.ExtensionDefinition;
22 import org.opendaylight.yangtools.yang.model.api.FeatureDefinition;
23 import org.opendaylight.yangtools.yang.model.api.GroupingDefinition;
24 import org.opendaylight.yangtools.yang.model.api.IdentitySchemaNode;
25 import org.opendaylight.yangtools.yang.model.api.Module;
26 import org.opendaylight.yangtools.yang.model.api.ModuleImport;
27 import org.opendaylight.yangtools.yang.model.api.NotificationDefinition;
28 import org.opendaylight.yangtools.yang.model.api.RpcDefinition;
29 import org.opendaylight.yangtools.yang.model.api.Submodule;
30 import org.opendaylight.yangtools.yang.model.api.TypeDefinition;
31 import org.opendaylight.yangtools.yang.model.api.UsesNode;
32 import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
33 import org.opendaylight.yangtools.yang.model.api.meta.IdentifierNamespace;
34 import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
35 import org.opendaylight.yangtools.yang.model.api.meta.StatementOrigin;
36 import org.opendaylight.yangtools.yang.model.api.stmt.ModuleEffectiveStatement;
37 import org.opendaylight.yangtools.yang.model.api.stmt.ModuleStatement;
38
39 abstract class AbstractOperationsModule implements Module, ModuleEffectiveStatement {
40     @Override
41     public final ModuleStatement getDeclared() {
42         return null;
43     }
44
45     @Override
46     public final StatementDefinition statementDefinition() {
47         return YangStmtMapping.MODULE;
48     }
49
50     @Override
51     public final StatementOrigin statementOrigin() {
52         return StatementOrigin.CONTEXT;
53     }
54
55     @Override
56     public final <K, V, N extends IdentifierNamespace<K, V>> Optional<V> get(final Class<N> namespace,
57             final K identifier) {
58         return Optional.empty();
59     }
60
61     @Override
62     public final <K, V, N extends IdentifierNamespace<K, V>> Map<K, V> getAll(final Class<N> namespace) {
63         return Map.of();
64     }
65
66     @Override
67     public final Unqualified argument() {
68         return UnresolvedQName.unqualified(getName());
69     }
70
71     @Override
72     public final QNameModule localQNameModule() {
73         return getQNameModule();
74     }
75
76     @Override
77     public final Collection<? extends @NonNull ModuleImport> getImports() {
78         // Yeah, not accurate, but this should not be needed
79         return Collections.emptySet();
80     }
81
82     @Override
83     public final YangVersion getYangVersion() {
84         return YangVersion.VERSION_1;
85     }
86
87     @Override
88     public final Collection<? extends TypeDefinition<?>> getTypeDefinitions() {
89         return Collections.emptySet();
90     }
91
92     @Override
93     public final Collection<? extends GroupingDefinition> getGroupings() {
94         return Collections.emptySet();
95     }
96
97     @Override
98     public final Collection<? extends UsesNode> getUses() {
99         return Collections.emptySet();
100     }
101
102     @Override
103     public final Optional<String> getDescription() {
104         return Optional.empty();
105     }
106
107     @Override
108     public final Optional<String> getReference() {
109         return Optional.empty();
110     }
111
112     @Override
113     public final Collection<? extends NotificationDefinition> getNotifications() {
114         return Collections.emptySet();
115     }
116
117     @Override
118     public final Optional<String> getOrganization() {
119         return Optional.empty();
120     }
121
122     @Override
123     public final Optional<String> getContact() {
124         return Optional.empty();
125     }
126
127     @Override
128     public final Collection<? extends @NonNull Submodule> getSubmodules() {
129         return Collections.emptySet();
130     }
131
132     @Override
133     public final Collection<? extends @NonNull FeatureDefinition> getFeatures() {
134         return Collections.emptySet();
135     }
136
137     @Override
138     public final Collection<? extends @NonNull AugmentationSchemaNode> getAugmentations() {
139         return Collections.emptySet();
140     }
141
142     @Override
143     public final Collection<? extends @NonNull RpcDefinition> getRpcs() {
144         return Collections.emptySet();
145     }
146
147     @Override
148     public final Collection<? extends @NonNull Deviation> getDeviations() {
149         return Collections.emptySet();
150     }
151
152     @Override
153     public final Collection<? extends @NonNull IdentitySchemaNode> getIdentities() {
154         return Collections.emptySet();
155     }
156
157     @Override
158     public final Collection<? extends @NonNull ExtensionDefinition> getExtensionSchemaNodes() {
159         return Collections.emptyList();
160     }
161
162     @Override
163     public final ModuleEffectiveStatement asEffectiveStatement() {
164         throw new UnsupportedOperationException();
165     }
166
167     @Override
168     public final ConformanceType conformance() {
169         throw new UnsupportedOperationException();
170     }
171 }