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%2FTypeDefinitionBuilderImpl.java;h=a131d9f9bc48b55041238a8c7d727b69e8c14fc1;hb=42abb28b99a02f9580f4676ce5c315628e5bcd24;hp=94987086ba3c47f590745ff7d389af8344023db1;hpb=e9aa787d49d8592310d0c6e38cb8d611e96c679b;p=yangtools.git diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/TypeDefinitionBuilderImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/TypeDefinitionBuilderImpl.java index 94987086ba..a131d9f9bc 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/TypeDefinitionBuilderImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/TypeDefinitionBuilderImpl.java @@ -7,19 +7,29 @@ */ package org.opendaylight.yangtools.yang.parser.builder.impl; +import com.google.common.base.Optional; +import com.google.common.base.Preconditions; import java.util.Collections; import java.util.List; - +import java.util.Objects; import org.opendaylight.yangtools.yang.common.QName; -import org.opendaylight.yangtools.yang.model.api.*; -import org.opendaylight.yangtools.yang.model.api.type.*; +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.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.ExtendedType; -import org.opendaylight.yangtools.yang.model.util.UnknownType; -import org.opendaylight.yangtools.yang.parser.builder.api.AbstractTypeAwareBuilder; import org.opendaylight.yangtools.yang.parser.builder.api.TypeDefinitionBuilder; -import org.opendaylight.yangtools.yang.parser.util.Comparators; +import org.opendaylight.yangtools.yang.parser.builder.api.UnknownSchemaNodeBuilder; +import org.opendaylight.yangtools.yang.parser.builder.util.AbstractTypeAwareBuilder; +import org.opendaylight.yangtools.yang.parser.builder.util.Comparators; import org.opendaylight.yangtools.yang.parser.util.YangParseException; +/** + * @deprecated Pre-Beryllium implementation, scheduled for removal. + */ +@Deprecated public final class TypeDefinitionBuilderImpl extends AbstractTypeAwareBuilder implements TypeDefinitionBuilder { private SchemaPath schemaPath; private List ranges = Collections.emptyList(); @@ -36,12 +46,12 @@ public final class TypeDefinitionBuilderImpl extends AbstractTypeAwareBuilder im public TypeDefinitionBuilderImpl(final String moduleName, final int line, final QName qname, final SchemaPath path) { super(moduleName, line, qname); - this.schemaPath = path; + this.schemaPath = Preconditions.checkNotNull(path, "Schema Path must not be null"); } public TypeDefinitionBuilderImpl(final String moduleName, final int line, final QName qname, final SchemaPath path, final ExtendedType base) { super(moduleName, line, base.getQName()); - this.schemaPath = path; + this.schemaPath = Preconditions.checkNotNull(path, "Schema Path must not be null"); this.type = base.getBaseType(); this.description = base.getDescription(); @@ -50,27 +60,28 @@ public final class TypeDefinitionBuilderImpl extends AbstractTypeAwareBuilder im this.units = base.getUnits(); this.defaultValue = base.getDefaultValue(); - ExtendedType ext = base; - this.addedByUses = ext.isAddedByUses(); - this.ranges = ext.getRangeConstraints(); - this.lengths = ext.getLengthConstraints(); - this.patterns = ext.getPatternConstraints(); - this.fractionDigits = ext.getFractionDigits(); + this.addedByUses = base.isAddedByUses(); + this.ranges = base.getRangeConstraints(); + this.lengths = base.getLengthConstraints(); + this.patterns = base.getPatternConstraints(); + this.fractionDigits = base.getFractionDigits(); this.unknownNodes.addAll(base.getUnknownSchemaNodes()); } @Override public TypeDefinition> build() { - TypeDefinition result = null; - ExtendedType.Builder typeBuilder = null; - if ((type == null || type instanceof UnknownType) && typedef == null) { - throw new YangParseException("Unresolved type: '" + qname.getLocalName() + "'."); - } - if (type == null || type instanceof UnknownType) { - type = typedef.build(); + TypeDefinition result; + ExtendedType.Builder typeBuilder; + if (type == null) { + if (typedef == null) { + throw new YangParseException("Unresolved type: '" + qname.getLocalName() + "'."); + } else { + type = typedef.build(); + } } - typeBuilder = new ExtendedType.Builder(qname, type, description, reference, schemaPath); + typeBuilder = ExtendedType.builder(qname, type, Optional.fromNullable(description), + Optional.fromNullable(reference), schemaPath); typeBuilder.status(status); typeBuilder.units(units); typeBuilder.defaultValue(defaultValue); @@ -91,7 +102,7 @@ public final class TypeDefinitionBuilderImpl extends AbstractTypeAwareBuilder im } @Override - public void setQName(QName qname) { + public void setQName(final QName qname) { this.qname = qname; } @@ -101,7 +112,7 @@ public final class TypeDefinitionBuilderImpl extends AbstractTypeAwareBuilder im } @Override - public void setPath(SchemaPath path) { + public void setPath(final SchemaPath path) { this.schemaPath = path; } @@ -167,11 +178,6 @@ public final class TypeDefinitionBuilderImpl extends AbstractTypeAwareBuilder im this.defaultValue = defaultValue; } - @Override - public List getUnknownNodes() { - return Collections.emptyList(); - } - @Override public List getRanges() { return ranges; @@ -227,13 +233,13 @@ public final class TypeDefinitionBuilderImpl extends AbstractTypeAwareBuilder im public int hashCode() { final int prime = 31; int result = super.hashCode(); - result = prime * result + ((schemaPath == null) ? 0 : schemaPath.hashCode()); + result = prime * result + Objects.hashCode(schemaPath); return result; } @Override - public boolean equals(Object obj) { + public boolean equals(final Object obj) { if (this == obj) { return true; }