Refactored SchemaPath for yang java types. Fixed SchemaPath for augmented nodes types.
[controller.git] / opendaylight / sal / yang-prototype / code-generator / yang-model-parser-impl / src / main / java / org / opendaylight / controller / yang / parser / builder / impl / IdentityrefTypeBuilder.java
1 /*
2  * Copyright (c) 2013 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.controller.yang.parser.builder.impl;
9
10 import java.util.Collections;
11 import java.util.List;
12
13 import org.opendaylight.controller.yang.common.QName;
14 import org.opendaylight.controller.yang.model.api.SchemaPath;
15 import org.opendaylight.controller.yang.model.api.Status;
16 import org.opendaylight.controller.yang.model.api.TypeDefinition;
17 import org.opendaylight.controller.yang.model.api.type.LengthConstraint;
18 import org.opendaylight.controller.yang.model.api.type.PatternConstraint;
19 import org.opendaylight.controller.yang.model.api.type.RangeConstraint;
20 import org.opendaylight.controller.yang.model.util.IdentityrefType;
21 import org.opendaylight.controller.yang.parser.builder.api.AbstractTypeAwareBuilder;
22 import org.opendaylight.controller.yang.parser.builder.api.TypeDefinitionBuilder;
23 import org.opendaylight.controller.yang.parser.util.YangParseException;
24
25 /**
26  * Builder for YANG union type. User can add type to this union as
27  * TypeDefinition object (resolved type) or in form of TypeDefinitionBuilder.
28  * When build is called, types in builder form will be built and add to resolved
29  * types.
30  */
31 public final class IdentityrefTypeBuilder extends AbstractTypeAwareBuilder
32         implements TypeDefinitionBuilder {
33     private static final String NAME = "identityref";
34
35     private final int line;
36     private final String baseString;
37     private final SchemaPath schemaPath;
38     private QName baseQName;
39
40     IdentityrefTypeBuilder(final String baseString,
41             final SchemaPath schemaPath, final int line) {
42         this.line = line;
43         this.baseString = baseString;
44         this.schemaPath = schemaPath;
45     }
46
47     @Override
48     public IdentityrefType build() {
49         return new IdentityrefType(baseQName, schemaPath);
50     }
51
52     public String getBaseString() {
53         return baseString;
54     }
55
56     public void setBaseQName(QName baseQName) {
57         this.baseQName = baseQName;
58     }
59
60     @Override
61     public int getLine() {
62         return line;
63     }
64
65     @Override
66     public TypeDefinition<?> getType() {
67         return null;
68     }
69
70     @Override
71     public TypeDefinitionBuilder getTypedef() {
72         return null;
73     }
74
75     @Override
76     public void setType(final TypeDefinition<?> type) {
77         throw new YangParseException(line, "Can not set type to " + NAME);
78     }
79
80     @Override
81     public void setType(final TypeDefinitionBuilder tdb) {
82         throw new YangParseException(line, "Can not set type to " + NAME);
83     }
84
85     @Override
86     public void setPath(final SchemaPath schemaPath) {
87         throw new YangParseException(line, "Can not set path to " + NAME);
88     }
89
90     @Override
91     public void setDescription(final String description) {
92         throw new YangParseException(line, "Can not set description to " + NAME);
93     }
94
95     @Override
96     public void setReference(final String reference) {
97         throw new YangParseException(line, "Can not set reference to " + NAME);
98     }
99
100     @Override
101     public void setStatus(final Status status) {
102         throw new YangParseException(line, "Can not set status to " + NAME);
103     }
104
105     @Override
106     public void addUnknownSchemaNode(final UnknownSchemaNodeBuilder unknownNode) {
107         throw new YangParseException(line, "Can not add unknown node to "
108                 + NAME);
109     }
110
111     @Override
112     public QName getQName() {
113         return null;
114     }
115
116     @Override
117     public SchemaPath getPath() {
118         return null;
119     }
120
121     @Override
122     public String getDescription() {
123         return null;
124     }
125
126     @Override
127     public String getReference() {
128         return null;
129     }
130
131     @Override
132     public Status getStatus() {
133         return null;
134     }
135
136     @Override
137     public List<RangeConstraint> getRanges() {
138         return Collections.emptyList();
139     }
140
141     @Override
142     public void setRanges(List<RangeConstraint> ranges) {
143         throw new YangParseException(line, "Can not set ranges to " + NAME);
144     }
145
146     @Override
147     public List<LengthConstraint> getLengths() {
148         return Collections.emptyList();
149     }
150
151     @Override
152     public void setLengths(List<LengthConstraint> lengths) {
153         throw new YangParseException(line, "Can not set lengths to " + NAME);
154     }
155
156     @Override
157     public List<PatternConstraint> getPatterns() {
158         return Collections.emptyList();
159     }
160
161     @Override
162     public void setPatterns(List<PatternConstraint> patterns) {
163         throw new YangParseException(line, "Can not set patterns to " + NAME);
164     }
165
166     @Override
167     public Integer getFractionDigits() {
168         return null;
169     }
170
171     @Override
172     public void setFractionDigits(Integer fractionDigits) {
173         throw new YangParseException(line, "Can not set fraction digits to "
174                 + NAME);
175     }
176
177     @Override
178     public List<UnknownSchemaNodeBuilder> getUnknownNodes() {
179         return Collections.emptyList();
180     }
181
182     @Override
183     public Object getDefaultValue() {
184         return null;
185     }
186
187     @Override
188     public void setDefaultValue(Object defaultValue) {
189         throw new YangParseException(line, "Can not set default value to "
190                 + NAME);
191     }
192
193     @Override
194     public String getUnits() {
195         return null;
196     }
197
198     @Override
199     public void setUnits(String units) {
200         throw new YangParseException(line, "Can not set units to " + NAME);
201     }
202
203     @Override
204     public String toString() {
205         final StringBuilder result = new StringBuilder(
206                 IdentityrefTypeBuilder.class.getSimpleName() + "[");
207         result.append(", base=" + baseQName);
208         result.append("]");
209         return result.toString();
210     }
211
212 }