2 * Copyright (c) 2016 Cisco Systems, Inc. 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.nb.rfc8040.services.simple.impl;
10 import static java.util.Objects.requireNonNull;
12 import com.google.common.collect.ForwardingObject;
13 import com.google.common.collect.ImmutableList;
14 import com.google.common.collect.ImmutableSet;
16 import java.util.Collection;
17 import java.util.List;
18 import java.util.Optional;
20 import org.opendaylight.yangtools.concepts.SemVer;
21 import org.opendaylight.yangtools.yang.common.QName;
22 import org.opendaylight.yangtools.yang.common.QNameModule;
23 import org.opendaylight.yangtools.yang.common.Revision;
24 import org.opendaylight.yangtools.yang.common.YangVersion;
25 import org.opendaylight.yangtools.yang.model.api.AugmentationSchemaNode;
26 import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
27 import org.opendaylight.yangtools.yang.model.api.Deviation;
28 import org.opendaylight.yangtools.yang.model.api.ExtensionDefinition;
29 import org.opendaylight.yangtools.yang.model.api.FeatureDefinition;
30 import org.opendaylight.yangtools.yang.model.api.GroupingDefinition;
31 import org.opendaylight.yangtools.yang.model.api.IdentitySchemaNode;
32 import org.opendaylight.yangtools.yang.model.api.Module;
33 import org.opendaylight.yangtools.yang.model.api.ModuleImport;
34 import org.opendaylight.yangtools.yang.model.api.NotificationDefinition;
35 import org.opendaylight.yangtools.yang.model.api.RpcDefinition;
36 import org.opendaylight.yangtools.yang.model.api.TypeDefinition;
37 import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode;
38 import org.opendaylight.yangtools.yang.model.api.UsesNode;
40 final class FakeImportedModule extends ForwardingObject implements Module {
42 private final Module delegate;
44 FakeImportedModule(final Module delegate) {
45 this.delegate = requireNonNull(delegate);
49 protected Module delegate() {
54 public Set<TypeDefinition<?>> getTypeDefinitions() {
55 return ImmutableSet.of();
59 public Collection<DataSchemaNode> getChildNodes() {
60 return ImmutableList.of();
64 public Set<GroupingDefinition> getGroupings() {
65 return ImmutableSet.of();
69 public Optional<DataSchemaNode> findDataChildByName(final QName name) {
70 return Optional.empty();
74 public Set<UsesNode> getUses() {
75 return ImmutableSet.of();
79 public QNameModule getQNameModule() {
80 return delegate.getQNameModule();
84 public String getName() {
85 return delegate.getName();
89 public URI getNamespace() {
90 return delegate.getNamespace();
94 public Optional<Revision> getRevision() {
95 return delegate.getRevision();
99 public String getPrefix() {
100 return delegate.getPrefix();
104 public YangVersion getYangVersion() {
105 return delegate.getYangVersion();
109 public Optional<String> getDescription() {
110 return delegate.getDescription();
114 public Optional<String> getReference() {
115 return delegate.getReference();
119 public Optional<String> getOrganization() {
120 return delegate.getOrganization();
124 public Optional<String> getContact() {
125 return delegate.getContact();
129 public Set<ModuleImport> getImports() {
130 return ImmutableSet.of();
134 public Set<Module> getSubmodules() {
135 return ImmutableSet.of();
139 public Set<FeatureDefinition> getFeatures() {
140 return ImmutableSet.of();
144 public Set<AugmentationSchemaNode> getAugmentations() {
145 return ImmutableSet.of();
149 public Set<RpcDefinition> getRpcs() {
150 return ImmutableSet.of();
154 public Set<Deviation> getDeviations() {
155 return ImmutableSet.of();
159 public Set<IdentitySchemaNode> getIdentities() {
160 return ImmutableSet.of();
164 public List<ExtensionDefinition> getExtensionSchemaNodes() {
165 return ImmutableList.of();
169 public List<UnknownSchemaNode> getUnknownSchemaNodes() {
170 return ImmutableList.of();
174 public Set<NotificationDefinition> getNotifications() {
175 return ImmutableSet.of();
179 public Optional<SemVer> getSemanticVersion() {
180 return Optional.empty();