X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=yang%2Fyang-parser-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Fyang%2Fparser%2Fbuilder%2Fimpl%2FIdentityrefTypeBuilder.java;h=e79df8013940ceb27723d4672c5cafa7203fbe1f;hb=6b512ccc24393302a472d89d55a71fcda40dd81b;hp=bdc10b3054d39f6a8de85d426a0827c1bff35b7d;hpb=84929adc0968c0ad916b85ba9cb49d622abd17a7;p=yangtools.git diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/IdentityrefTypeBuilder.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/IdentityrefTypeBuilder.java index bdc10b3054..e79df80139 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/IdentityrefTypeBuilder.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/IdentityrefTypeBuilder.java @@ -7,21 +7,21 @@ */ package org.opendaylight.yangtools.yang.parser.builder.impl; +import com.google.common.base.Preconditions; import java.util.Collections; import java.util.List; - import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.SchemaPath; import org.opendaylight.yangtools.yang.model.api.Status; import org.opendaylight.yangtools.yang.model.api.TypeDefinition; -import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode; import org.opendaylight.yangtools.yang.model.api.type.LengthConstraint; import org.opendaylight.yangtools.yang.model.api.type.PatternConstraint; import org.opendaylight.yangtools.yang.model.api.type.RangeConstraint; import org.opendaylight.yangtools.yang.model.util.BaseTypes; import org.opendaylight.yangtools.yang.model.util.IdentityrefType; -import org.opendaylight.yangtools.yang.parser.builder.api.AbstractTypeAwareBuilder; import org.opendaylight.yangtools.yang.parser.builder.api.TypeDefinitionBuilder; +import org.opendaylight.yangtools.yang.parser.builder.api.UnknownSchemaNodeBuilder; +import org.opendaylight.yangtools.yang.parser.builder.util.AbstractTypeAwareBuilder; import org.opendaylight.yangtools.yang.parser.util.YangParseException; /** @@ -31,27 +31,33 @@ public final class IdentityrefTypeBuilder extends AbstractTypeAwareBuilder imple private static final String NAME = "identityref"; private final String baseString; - private final SchemaPath schemaPath; - private QName baseQName; + private SchemaPath schemaPath; + private IdentitySchemaNodeBuilder baseIdentity; public IdentityrefTypeBuilder(final String moduleName, final int line, final String baseString, final SchemaPath schemaPath) { super(moduleName, line, BaseTypes.constructQName(NAME)); this.baseString = baseString; - this.schemaPath = schemaPath; + this.schemaPath = Preconditions.checkNotNull(schemaPath, "Schema Path must not be null"); + + } + + @Override + public void setQName(final QName qname) { + this.qname = qname; } @Override public IdentityrefType build() { - return new IdentityrefType(baseQName, schemaPath); + return IdentityrefType.create(schemaPath, baseIdentity.build()); } public String getBaseString() { return baseString; } - public void setBaseQName(QName baseQName) { - this.baseQName = baseQName; + public void setBaseIdentity(final IdentitySchemaNodeBuilder baseIdentity) { + this.baseIdentity = baseIdentity; } @Override @@ -66,32 +72,27 @@ public final class IdentityrefTypeBuilder extends AbstractTypeAwareBuilder imple @Override public void setType(final TypeDefinition type) { - throw new YangParseException(moduleName, line, "Can not set type to " + NAME); + throw new YangParseException(getModuleName(), getLine(), "Can not set type to " + NAME); } @Override 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 YangParseException(moduleName, line, "Can not set path to " + NAME); + throw new YangParseException(getModuleName(), getLine(), "Can not set type to " + NAME); } @Override public void setDescription(final String description) { - throw new YangParseException(moduleName, line, "Can not set description to " + NAME); + throw new YangParseException(getModuleName(), getLine(), "Can not set description to " + NAME); } @Override public void setReference(final String reference) { - throw new YangParseException(moduleName, line, "Can not set reference to " + NAME); + throw new YangParseException(getModuleName(), getLine(), "Can not set reference to " + NAME); } @Override public void setStatus(final Status status) { - throw new YangParseException(moduleName, line, "Can not set status to " + NAME); + throw new YangParseException(getModuleName(), getLine(), "Can not set status to " + NAME); } @Override @@ -101,17 +102,12 @@ public final class IdentityrefTypeBuilder extends AbstractTypeAwareBuilder imple @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(); + throw new YangParseException(getModuleName(), getLine(), "Identityref type can not be added by uses."); } @Override public void addUnknownNodeBuilder(final UnknownSchemaNodeBuilder unknownNode) { - throw new YangParseException(moduleName, line, "Can not add unknown node to " + NAME); + throw new YangParseException(getModuleName(), getLine(), "Can not add unknown node to " + NAME); } @Override @@ -124,6 +120,11 @@ public final class IdentityrefTypeBuilder extends AbstractTypeAwareBuilder imple return schemaPath; } + @Override + public void setPath(final SchemaPath path) { + this.schemaPath = path; + } + @Override public String getDescription() { return null; @@ -145,8 +146,8 @@ public final class IdentityrefTypeBuilder extends AbstractTypeAwareBuilder imple } @Override - public void setRanges(List ranges) { - throw new YangParseException(moduleName, line, "Can not set ranges to " + NAME); + public void setRanges(final List ranges) { + throw new YangParseException(getModuleName(), getLine(), "Can not set ranges to " + NAME); } @Override @@ -155,8 +156,8 @@ public final class IdentityrefTypeBuilder extends AbstractTypeAwareBuilder imple } @Override - public void setLengths(List lengths) { - throw new YangParseException(moduleName, line, "Can not set lengths to " + NAME); + public void setLengths(final List lengths) { + throw new YangParseException(getModuleName(), getLine(), "Can not set lengths to " + NAME); } @Override @@ -165,8 +166,8 @@ public final class IdentityrefTypeBuilder extends AbstractTypeAwareBuilder imple } @Override - public void setPatterns(List patterns) { - throw new YangParseException(moduleName, line, "Can not set patterns to " + NAME); + public void setPatterns(final List patterns) { + throw new YangParseException(getModuleName(), getLine(), "Can not set patterns to " + NAME); } @Override @@ -175,12 +176,12 @@ public final class IdentityrefTypeBuilder extends AbstractTypeAwareBuilder imple } @Override - public void setFractionDigits(Integer fractionDigits) { - throw new YangParseException(moduleName, line, "Can not set fraction digits to " + NAME); + public void setFractionDigits(final Integer fractionDigits) { + throw new YangParseException(getModuleName(), getLine(), "Can not set fraction digits to " + NAME); } @Override - public List getUnknownNodeBuilders() { + public List getUnknownNodes() { return Collections.emptyList(); } @@ -190,18 +191,17 @@ public final class IdentityrefTypeBuilder extends AbstractTypeAwareBuilder imple } @Override - public void setDefaultValue(Object defaultValue) { - throw new YangParseException(moduleName, line, "Can not set default value to " + NAME); + public void setDefaultValue(final Object defaultValue) { + throw new YangParseException(getModuleName(), getLine(), "Can not set default value to " + NAME); } @Override public String getUnits() { return null; } - @Override - public void setUnits(String units) { - throw new YangParseException(moduleName, line, "Can not set units to " + NAME); + public void setUnits(final String units) { + throw new YangParseException(getModuleName(), getLine(), "Can not set units to " + NAME); } @Override @@ -209,7 +209,7 @@ public final class IdentityrefTypeBuilder extends AbstractTypeAwareBuilder imple final StringBuilder result = new StringBuilder(IdentityrefTypeBuilder.class.getSimpleName()); result.append("["); result.append(", base="); - result.append(baseQName); + result.append(baseIdentity); result.append("]"); return result.toString(); }