d5d43e7af0442f39cf9496da1d516864a98524d0
[netconf.git] / restconf / restconf-nb-bierman02 / src / main / java / org / opendaylight / netconf / sal / restconf / impl / FakeImportedModule.java
1 /*
2  * Copyright (c) 2016 Cisco Systems, Inc. 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.netconf.sal.restconf.impl;
9
10 import com.google.common.base.Preconditions;
11 import com.google.common.collect.ForwardingObject;
12 import com.google.common.collect.ImmutableList;
13 import com.google.common.collect.ImmutableSet;
14 import java.net.URI;
15 import java.util.Collection;
16 import java.util.List;
17 import java.util.Optional;
18 import java.util.Set;
19 import org.opendaylight.yangtools.concepts.SemVer;
20 import org.opendaylight.yangtools.yang.common.QName;
21 import org.opendaylight.yangtools.yang.common.QNameModule;
22 import org.opendaylight.yangtools.yang.common.Revision;
23 import org.opendaylight.yangtools.yang.common.YangVersion;
24 import org.opendaylight.yangtools.yang.model.api.AugmentationSchemaNode;
25 import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
26 import org.opendaylight.yangtools.yang.model.api.Deviation;
27 import org.opendaylight.yangtools.yang.model.api.ExtensionDefinition;
28 import org.opendaylight.yangtools.yang.model.api.FeatureDefinition;
29 import org.opendaylight.yangtools.yang.model.api.GroupingDefinition;
30 import org.opendaylight.yangtools.yang.model.api.IdentitySchemaNode;
31 import org.opendaylight.yangtools.yang.model.api.Module;
32 import org.opendaylight.yangtools.yang.model.api.ModuleImport;
33 import org.opendaylight.yangtools.yang.model.api.NotificationDefinition;
34 import org.opendaylight.yangtools.yang.model.api.RpcDefinition;
35 import org.opendaylight.yangtools.yang.model.api.TypeDefinition;
36 import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode;
37 import org.opendaylight.yangtools.yang.model.api.UsesNode;
38
39 final class FakeImportedModule extends ForwardingObject implements Module {
40
41     private final Module delegate;
42
43     FakeImportedModule(final Module delegate) {
44         this.delegate = Preconditions.checkNotNull(delegate);
45     }
46
47     @Override
48     protected Module delegate() {
49         return delegate;
50     }
51
52     @Override
53     public Set<TypeDefinition<?>> getTypeDefinitions() {
54         return ImmutableSet.of();
55     }
56
57     @Override
58     public Collection<DataSchemaNode> getChildNodes() {
59         return ImmutableList.of();
60     }
61
62     @Override
63     public Set<GroupingDefinition> getGroupings() {
64         return ImmutableSet.of();
65     }
66
67     @Override
68     public Set<UsesNode> getUses() {
69         return ImmutableSet.of();
70     }
71
72     @Override
73     public QNameModule getQNameModule() {
74         return delegate.getQNameModule();
75     }
76
77     @Override
78     public String getName() {
79         return delegate.getName();
80     }
81
82     @Override
83     public URI getNamespace() {
84         return delegate.getNamespace();
85     }
86
87     @Override
88     public Optional<Revision> getRevision() {
89         return delegate.getRevision();
90     }
91
92     @Override
93     public String getPrefix() {
94         return delegate.getPrefix();
95     }
96
97     @Override
98     public YangVersion getYangVersion() {
99         return delegate.getYangVersion();
100     }
101
102     @Override
103     public Optional<String> getDescription() {
104         return delegate.getDescription();
105     }
106
107     @Override
108     public Optional<String> getReference() {
109         return delegate.getReference();
110     }
111
112     @Override
113     public Optional<String> getOrganization() {
114         return delegate.getOrganization();
115     }
116
117     @Override
118     public Optional<String> getContact() {
119         return delegate.getContact();
120     }
121
122     @Override
123     public Set<ModuleImport> getImports() {
124         return ImmutableSet.of();
125     }
126
127     @Override
128     public Set<Module> getSubmodules() {
129         return ImmutableSet.of();
130     }
131
132     @Override
133     public Set<FeatureDefinition> getFeatures() {
134         return ImmutableSet.of();
135     }
136
137     @Override
138     public Set<AugmentationSchemaNode> getAugmentations() {
139         return ImmutableSet.of();
140     }
141
142     @Override
143     public Set<RpcDefinition> getRpcs() {
144         return ImmutableSet.of();
145     }
146
147     @Override
148     public Set<Deviation> getDeviations() {
149         return ImmutableSet.of();
150     }
151
152     @Override
153     public Set<IdentitySchemaNode> getIdentities() {
154         return ImmutableSet.of();
155     }
156
157     @Override
158     public List<ExtensionDefinition> getExtensionSchemaNodes() {
159         return ImmutableList.of();
160     }
161
162     @Override
163     public List<UnknownSchemaNode> getUnknownSchemaNodes() {
164         return ImmutableList.of();
165     }
166
167     @Override
168     public Optional<DataSchemaNode> findDataChildByName(final QName name) {
169         return Optional.empty();
170     }
171
172     @Override
173     public Set<NotificationDefinition> getNotifications() {
174         return delegate.getNotifications();
175     }
176
177     @Override
178     public Optional<SemVer> getSemanticVersion() {
179         return delegate.getSemanticVersion();
180     }
181 }