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