X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fsal%2Fyang-prototype%2Fcode-generator%2Fyang-model-parser-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fyang%2Fparser%2Fbuilder%2Fimpl%2FIdentityrefTypeBuilder.java;h=ca6002930e8bbf7df185cacb3c1674493d4550e0;hb=b64d31500de4d9bd81a060432c3db20feb2e7dfa;hp=b7043ce744a199e06e95709da0dd8341c08978e6;hpb=a640c5c549376e5d72038e033d49ef6f0df96c92;p=controller.git diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/IdentityrefTypeBuilder.java b/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/IdentityrefTypeBuilder.java index b7043ce744..ca6002930e 100644 --- a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/IdentityrefTypeBuilder.java +++ b/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/IdentityrefTypeBuilder.java @@ -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 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 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 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 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 getUnknownNodes() { + public List 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();