*/
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();
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();
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() + "'.");
}
}
@Override
- public void setQName(QName qname) {
+ public void setQName(final QName qname) {
this.qname = qname;
}
return schemaPath;
}
+ @Override
+ public void setPath(final SchemaPath path) {
+ this.schemaPath = path;
+ }
+
@Override
public String getDescription() {
return description;
}
@Override
- public boolean equals(Object obj) {
+ public boolean equals(final Object obj) {
if (this == obj) {
return true;
}