Scripted update of if statements
[yangtools.git] / yang / yang-data-util / src / main / java / org / opendaylight / yangtools / yang / data / util / RpcAsContainer.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.yangtools.yang.data.util;
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 public 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     public 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             default:
97                 return null;
98         }
99     }
100
101     @Override
102     public Set<UsesNode> getUses() {
103         return Collections.emptySet();
104     }
105
106     @Override
107     public Set<AugmentationSchema> getAvailableAugmentations() {
108         return Collections.emptySet();
109     }
110
111     @Override
112     public boolean isPresenceContainer() {
113         return false;
114     }
115
116     @Override
117     public Collection<DataSchemaNode> getChildNodes() {
118         final List<DataSchemaNode> ret = new ArrayList<>();
119         final ContainerSchemaNode input = getInput();
120         final ContainerSchemaNode output = getOutput();
121         if (input != null) {
122             ret.add(input);
123         }
124         if (output != null) {
125             ret.add(output);
126         }
127         return ret;
128     }
129
130     @Override
131     public boolean isAugmenting() {
132         return false;
133     }
134
135     @Override
136     public boolean isAddedByUses() {
137         return false;
138     }
139
140     @Override
141     public boolean isConfiguration() {
142         return false;
143     }
144
145     @Override
146     public ConstraintDefinition getConstraints() {
147         // TODO Auto-generated method stub
148         return null;
149     }
150
151 }