Merge "Package names for enclosed Types of TOs were changed to fully qualified. Fully...
[controller.git] / opendaylight / sal / yang-prototype / code-generator / yang-model-parser-impl / src / main / java / org / opendaylight / controller / yang / parser / builder / impl / IdentityrefTypeBuilder.java
index b7043ce744a199e06e95709da0dd8341c08978e6..ca6002930e8bbf7df185cacb3c1674493d4550e0 100644 (file)
@@ -14,13 +14,14 @@ import org.opendaylight.controller.yang.common.QName;
 import org.opendaylight.controller.yang.model.api.SchemaPath;
 import org.opendaylight.controller.yang.model.api.Status;
 import org.opendaylight.controller.yang.model.api.TypeDefinition;
+import org.opendaylight.controller.yang.model.api.UnknownSchemaNode;
 import org.opendaylight.controller.yang.model.api.type.LengthConstraint;
 import org.opendaylight.controller.yang.model.api.type.PatternConstraint;
 import org.opendaylight.controller.yang.model.api.type.RangeConstraint;
 import org.opendaylight.controller.yang.model.util.IdentityrefType;
 import org.opendaylight.controller.yang.parser.builder.api.AbstractTypeAwareBuilder;
-import org.opendaylight.controller.yang.parser.builder.api.Builder;
 import org.opendaylight.controller.yang.parser.builder.api.TypeDefinitionBuilder;
+import org.opendaylight.controller.yang.parser.util.YangParseException;
 
 /**
  * Builder for YANG union type. User can add type to this union as
@@ -28,20 +29,24 @@ import org.opendaylight.controller.yang.parser.builder.api.TypeDefinitionBuilder
  * When build is called, types in builder form will be built and add to resolved
  * types.
  */
-public class IdentityrefTypeBuilder extends AbstractTypeAwareBuilder implements
-        TypeDefinitionBuilder, Builder {
-    private final int line;
+public final class IdentityrefTypeBuilder extends AbstractTypeAwareBuilder implements TypeDefinitionBuilder {
+    private static final String NAME = "identityref";
+
     private final String baseString;
     private final SchemaPath schemaPath;
     private QName baseQName;
 
-
-    public IdentityrefTypeBuilder(final String baseString, final SchemaPath schemaPath, final int line) {
-        this.line = line;
+    IdentityrefTypeBuilder(final String moduleName, final int line, final String baseString, final SchemaPath schemaPath) {
+        super(moduleName, line, null);
         this.baseString = baseString;
         this.schemaPath = schemaPath;
     }
 
+    @Override
+    public IdentityrefType build() {
+        return new IdentityrefType(baseQName, schemaPath);
+    }
+
     public String getBaseString() {
         return baseString;
     }
@@ -50,11 +55,6 @@ public class IdentityrefTypeBuilder extends AbstractTypeAwareBuilder implements
         this.baseQName = baseQName;
     }
 
-    @Override
-    public int getLine() {
-        return line;
-    }
-
     @Override
     public TypeDefinition<?> getType() {
         return null;
@@ -67,49 +67,52 @@ public class IdentityrefTypeBuilder extends AbstractTypeAwareBuilder implements
 
     @Override
     public void setType(final TypeDefinition<?> type) {
-        throw new IllegalStateException("Can not set type to "
-                + IdentityrefTypeBuilder.class.getSimpleName());
+        throw new YangParseException(moduleName, line, "Can not set type to " + NAME);
     }
 
     @Override
-    public void setType(final TypeDefinitionBuilder tdb) {
-        throw new IllegalStateException("Can not set type to "
-                + IdentityrefTypeBuilder.class.getSimpleName());
-    }
-
-    @Override
-    public IdentityrefType build() {
-        return new IdentityrefType(baseQName, schemaPath);
+    public void setTypedef(final TypeDefinitionBuilder tdb) {
+        throw new YangParseException(moduleName, line, "Can not set type to " + NAME);
     }
 
     @Override
     public void setPath(final SchemaPath schemaPath) {
-        throw new IllegalStateException("Can not set path to "
-                + IdentityrefTypeBuilder.class.getSimpleName());
+        throw new YangParseException(moduleName, line, "Can not set path to " + NAME);
     }
 
     @Override
     public void setDescription(final String description) {
-        throw new IllegalStateException("Can not set description to "
-                + IdentityrefTypeBuilder.class.getSimpleName());
+        throw new YangParseException(moduleName, line, "Can not set description to " + NAME);
     }
 
     @Override
     public void setReference(final String reference) {
-        throw new IllegalStateException("Can not set reference to "
-                + IdentityrefTypeBuilder.class.getSimpleName());
+        throw new YangParseException(moduleName, line, "Can not set reference to " + NAME);
     }
 
     @Override
     public void setStatus(final Status status) {
-        throw new IllegalStateException("Can not set status to "
-                + IdentityrefTypeBuilder.class.getSimpleName());
+        throw new YangParseException(moduleName, line, "Can not set status to " + NAME);
+    }
+
+    @Override
+    public boolean isAddedByUses() {
+        return false;
+    }
+
+    @Override
+    public void setAddedByUses(final boolean addedByUses) {
+        throw new YangParseException(moduleName, line, "Identityref type can not be added by uses.");
+    }
+
+    @Override
+    public List<UnknownSchemaNode> getUnknownNodes() {
+        return Collections.emptyList();
     }
 
     @Override
-    public void addUnknownSchemaNode(final UnknownSchemaNodeBuilder unknownNode) {
-        throw new IllegalStateException("Can not add unknown node to "
-                + IdentityrefTypeBuilder.class.getSimpleName());
+    public void addUnknownNodeBuilder(final UnknownSchemaNodeBuilder unknownNode) {
+        throw new YangParseException(moduleName, line, "Can not add unknown node to " + NAME);
     }
 
     @Override
@@ -144,8 +147,7 @@ public class IdentityrefTypeBuilder extends AbstractTypeAwareBuilder implements
 
     @Override
     public void setRanges(List<RangeConstraint> ranges) {
-        throw new IllegalStateException("Can not set ranges to "
-                + IdentityrefTypeBuilder.class.getSimpleName());
+        throw new YangParseException(moduleName, line, "Can not set ranges to " + NAME);
     }
 
     @Override
@@ -155,8 +157,7 @@ public class IdentityrefTypeBuilder extends AbstractTypeAwareBuilder implements
 
     @Override
     public void setLengths(List<LengthConstraint> lengths) {
-        throw new IllegalStateException("Can not set lengths to "
-                + IdentityrefTypeBuilder.class.getSimpleName());
+        throw new YangParseException(moduleName, line, "Can not set lengths to " + NAME);
     }
 
     @Override
@@ -166,8 +167,7 @@ public class IdentityrefTypeBuilder extends AbstractTypeAwareBuilder implements
 
     @Override
     public void setPatterns(List<PatternConstraint> patterns) {
-        throw new IllegalStateException("Can not set patterns to "
-                + IdentityrefTypeBuilder.class.getSimpleName());
+        throw new YangParseException(moduleName, line, "Can not set patterns to " + NAME);
     }
 
     @Override
@@ -177,12 +177,11 @@ public class IdentityrefTypeBuilder extends AbstractTypeAwareBuilder implements
 
     @Override
     public void setFractionDigits(Integer fractionDigits) {
-        throw new IllegalStateException("Can not set fraction digits to "
-                + IdentityrefTypeBuilder.class.getSimpleName());
+        throw new YangParseException(moduleName, line, "Can not set fraction digits to " + NAME);
     }
 
     @Override
-    public List<UnknownSchemaNodeBuilder> getUnknownNodes() {
+    public List<UnknownSchemaNodeBuilder> getUnknownNodeBuilders() {
         return Collections.emptyList();
     }
 
@@ -193,8 +192,7 @@ public class IdentityrefTypeBuilder extends AbstractTypeAwareBuilder implements
 
     @Override
     public void setDefaultValue(Object defaultValue) {
-        throw new IllegalStateException("Can not set default value to "
-                + IdentityrefTypeBuilder.class.getSimpleName());
+        throw new YangParseException(moduleName, line, "Can not set default value to " + NAME);
     }
 
     @Override
@@ -204,14 +202,12 @@ public class IdentityrefTypeBuilder extends AbstractTypeAwareBuilder implements
 
     @Override
     public void setUnits(String units) {
-        throw new IllegalStateException("Can not set units to "
-                + IdentityrefTypeBuilder.class.getSimpleName());
+        throw new YangParseException(moduleName, line, "Can not set units to " + NAME);
     }
 
     @Override
     public String toString() {
-        final StringBuilder result = new StringBuilder(
-                IdentityrefTypeBuilder.class.getSimpleName() + "[");
+        final StringBuilder result = new StringBuilder(IdentityrefTypeBuilder.class.getSimpleName() + "[");
         result.append(", base=" + baseQName);
         result.append("]");
         return result.toString();