Revert Merge "Bug 2366: new parser - Types & TypeDefs"
[yangtools.git] / yang / yang-data-codec-gson / src / main / java / org / opendaylight / yangtools / yang / data / codec / gson / RpcAsContainer.java
1 /*
2  * Copyright (c) 2015 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.yangtools.yang.data.codec.gson;
9
10 import java.util.ArrayList;
11 import java.util.Collection;
12 import java.util.Collections;
13 import java.util.List;
14 import java.util.Set;
15 import org.opendaylight.yangtools.yang.common.QName;
16 import org.opendaylight.yangtools.yang.model.api.AugmentationSchema;
17 import org.opendaylight.yangtools.yang.model.api.ConstraintDefinition;
18 import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode;
19 import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
20 import org.opendaylight.yangtools.yang.model.api.GroupingDefinition;
21 import org.opendaylight.yangtools.yang.model.api.RpcDefinition;
22 import org.opendaylight.yangtools.yang.model.api.SchemaPath;
23 import org.opendaylight.yangtools.yang.model.api.Status;
24 import org.opendaylight.yangtools.yang.model.api.TypeDefinition;
25 import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode;
26 import org.opendaylight.yangtools.yang.model.api.UsesNode;
27
28 final class RpcAsContainer implements ContainerSchemaNode {
29
30     private final RpcDefinition delegate;
31
32     @Override
33     public String getDescription() {
34         return delegate.getDescription();
35     }
36
37     @Override
38     public String getReference() {
39         return delegate.getReference();
40     }
41
42     @Override
43     public Set<TypeDefinition<?>> getTypeDefinitions() {
44         return delegate.getTypeDefinitions();
45     }
46
47     @Override
48     public Set<GroupingDefinition> getGroupings() {
49         return delegate.getGroupings();
50     }
51
52     @Override
53     public Status getStatus() {
54         return delegate.getStatus();
55     }
56
57     public ContainerSchemaNode getInput() {
58         return delegate.getInput();
59     }
60
61     public ContainerSchemaNode getOutput() {
62         return delegate.getOutput();
63     }
64
65     RpcAsContainer(final RpcDefinition parentNode) {
66         delegate = parentNode;
67     }
68
69     @Override
70     public QName getQName() {
71         return delegate.getQName();
72     }
73
74     @Override
75     public SchemaPath getPath() {
76         return delegate.getPath();
77     }
78
79     @Override
80     public List<UnknownSchemaNode> getUnknownSchemaNodes() {
81         return Collections.emptyList();
82     }
83
84     @Override
85     public DataSchemaNode getDataChildByName(final QName name) {
86         return getDataChildByName(name.getLocalName());
87     }
88
89     @Override
90     public DataSchemaNode getDataChildByName(final String name) {
91         switch (name) {
92             case "input":
93                 return delegate.getInput();
94             case "output":
95                 return delegate.getOutput();
96         }
97         return null;
98     }
99
100     @Override
101     public Set<UsesNode> getUses() {
102         return Collections.emptySet();
103     }
104
105     @Override
106     public Set<AugmentationSchema> getAvailableAugmentations() {
107         return Collections.emptySet();
108     }
109
110     @Override
111     public boolean isPresenceContainer() {
112         return false;
113     }
114
115     @Override
116     public Collection<DataSchemaNode> getChildNodes() {
117         final ArrayList<DataSchemaNode> ret = new ArrayList<>();
118         final ContainerSchemaNode input = getInput();
119         final ContainerSchemaNode output = getOutput();
120         if(input != null) {
121             ret.add(input);
122         }
123         if(output != null) {
124             ret.add(output);
125         }
126         return ret;
127     }
128
129     @Override
130     public boolean isAugmenting() {
131         return false;
132     }
133
134     @Override
135     public boolean isAddedByUses() {
136         return false;
137     }
138
139     @Override
140     public boolean isConfiguration() {
141         return false;
142     }
143
144     @Override
145     public ConstraintDefinition getConstraints() {
146         // TODO Auto-generated method stub
147         return null;
148     }
149
150 }