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=ea504afae15293c9b5b9ca48fe8439f8fbd1c111;hb=c9006d027a5c5b639e57aa7b8484ec1ff3497dc8;hp=b7043ce744a199e06e95709da0dd8341c08978e6;hpb=06aa5ce746e29a3760688b2ef2817f50bec5ea7a;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..ea504afae1 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,25 @@ 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 { +public final class IdentityrefTypeBuilder extends AbstractTypeAwareBuilder implements TypeDefinitionBuilder { + private static final String NAME = "identityref"; + private final int line; private final String baseString; private final SchemaPath schemaPath; private QName baseQName; - - public IdentityrefTypeBuilder(final String baseString, final SchemaPath schemaPath, final int line) { + IdentityrefTypeBuilder(final String baseString, final SchemaPath schemaPath, final int line) { this.line = line; this.baseString = baseString; this.schemaPath = schemaPath; } + @Override + public IdentityrefType build() { + return new IdentityrefType(baseQName, schemaPath); + } + public String getBaseString() { return baseString; } @@ -67,49 +73,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(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(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(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(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(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(line, "Can not set status to " + NAME); + } + + @Override + public boolean isAddedByUses() { + return false; + } + + @Override + public void setAddedByUses(final boolean addedByUses) { + throw new YangParseException(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()); + throw new YangParseException(line, "Can not add unknown node to " + NAME); } @Override @@ -144,8 +153,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(line, "Can not set ranges to " + NAME); } @Override @@ -155,8 +163,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(line, "Can not set lengths to " + NAME); } @Override @@ -166,8 +173,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(line, "Can not set patterns to " + NAME); } @Override @@ -177,12 +183,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(line, "Can not set fraction digits to " + NAME); } @Override - public List getUnknownNodes() { + public List getUnknownNodeBuilders() { return Collections.emptyList(); } @@ -193,8 +198,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(line, "Can not set default value to " + NAME); } @Override @@ -204,14 +208,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(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();