BUG-1270: use QNameModule where possible
[yangtools.git] / yang / yang-parser-impl / src / main / java / org / opendaylight / yangtools / yang / parser / builder / impl / TypeDefinitionBuilderImpl.java
index c8ff64102713aa779c903fc82dc0aa473547dd5d..07afa895d3ccdd1068afc1f3c809cbae809e5152 100644 (file)
@@ -7,21 +7,26 @@
  */
 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.*;
-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;
 
 public final class TypeDefinitionBuilderImpl extends AbstractTypeAwareBuilder implements TypeDefinitionBuilder {
-    private final SchemaPath schemaPath;
+    private SchemaPath schemaPath;
     private List<RangeConstraint> ranges = Collections.emptyList();
     private List<LengthConstraint> lengths = Collections.emptyList();
     private List<PatternConstraint> patterns = Collections.emptyList();
@@ -36,12 +41,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,19 +55,18 @@ 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<? extends TypeDefinition<?>> build() {
-        TypeDefinition<?> result = null;
-        ExtendedType.Builder typeBuilder = null;
+        TypeDefinition<?> result;
+        ExtendedType.Builder typeBuilder;
         if ((type == null || type instanceof UnknownType) && typedef == null) {
             throw new YangParseException("Unresolved type: '" + qname.getLocalName() + "'.");
         }
@@ -91,7 +95,7 @@ public final class TypeDefinitionBuilderImpl extends AbstractTypeAwareBuilder im
     }
 
     @Override
-    public void setQName(QName qname) {
+    public void setQName(final QName qname) {
         this.qname = qname;
     }
 
@@ -100,6 +104,11 @@ public final class TypeDefinitionBuilderImpl extends AbstractTypeAwareBuilder im
         return schemaPath;
     }
 
+    @Override
+    public void setPath(final SchemaPath path) {
+        this.schemaPath = path;
+    }
+
     @Override
     public String getDescription() {
         return description;
@@ -228,7 +237,7 @@ public final class TypeDefinitionBuilderImpl extends AbstractTypeAwareBuilder im
     }
 
     @Override
-    public boolean equals(Object obj) {
+    public boolean equals(final Object obj) {
         if (this == obj) {
             return true;
         }