*/
package org.opendaylight.yangtools.yang.model.util.type;
-import static com.google.common.base.Preconditions.checkNotNull;
-
import com.google.common.annotations.Beta;
-import java.util.List;
import javax.annotation.Nonnull;
+import org.eclipse.jdt.annotation.Nullable;
import org.opendaylight.yangtools.yang.model.api.SchemaPath;
import org.opendaylight.yangtools.yang.model.api.type.BinaryTypeDefinition;
import org.opendaylight.yangtools.yang.model.api.type.BitsTypeDefinition;
import org.opendaylight.yangtools.yang.model.api.type.IntegerTypeDefinition;
import org.opendaylight.yangtools.yang.model.api.type.LeafrefTypeDefinition;
import org.opendaylight.yangtools.yang.model.api.type.LengthConstraint;
+import org.opendaylight.yangtools.yang.model.api.type.RangeConstraint;
import org.opendaylight.yangtools.yang.model.api.type.StringTypeDefinition;
import org.opendaylight.yangtools.yang.model.api.type.UnionTypeDefinition;
import org.opendaylight.yangtools.yang.model.api.type.UnsignedIntegerTypeDefinition;
@Nonnull final BinaryTypeDefinition baseType, @Nonnull final SchemaPath path) {
return new LengthRestrictedTypeBuilder<BinaryTypeDefinition>(baseType, path) {
@Override
- BinaryTypeDefinition buildType(final List<LengthConstraint> lengthConstraints) {
- return new RestrictedBinaryType(getBaseType(), getPath(), getUnknownSchemaNodes(), lengthConstraints);
+ BinaryTypeDefinition buildType(final @Nullable LengthConstraint lengthConstraint) {
+ return new RestrictedBinaryType(getBaseType(), getPath(), getUnknownSchemaNodes(), lengthConstraint);
}
@Override
- List<LengthConstraint> typeLengthConstraints() {
+ LengthConstraint typeLengthConstraints() {
/**
* Length constraint imposed on YANG binary type by our implementation. byte[].length is an integer,
* capping our ability to support arbitrary binary data.
public static RangeRestrictedTypeBuilder<DecimalTypeDefinition> newDecima64Builder(
final DecimalTypeDefinition baseType, final SchemaPath path) {
- return new RangeRestrictedTypeBuilder<DecimalTypeDefinition>(checkNotNull(baseType), path) {
+ return new RangeRestrictedTypeBuilderWithBase<DecimalTypeDefinition>(baseType, path) {
@Override
- DecimalTypeDefinition buildType() {
- return new RestrictedDecimalType(getBaseType(), getPath(), getUnknownSchemaNodes(),
- calculateRangeConstraints(getBaseType().getRangeConstraints()));
+ DecimalTypeDefinition buildType(final RangeConstraint<?> rangeConstraint) {
+ return new RestrictedDecimalType(getBaseType(), getPath(), getUnknownSchemaNodes(), rangeConstraint);
}
};
}
public static RangeRestrictedTypeBuilder<IntegerTypeDefinition> newIntegerBuilder(
final IntegerTypeDefinition baseType, final SchemaPath path) {
- return new RangeRestrictedTypeBuilder<IntegerTypeDefinition>(checkNotNull(baseType), path) {
+ return new RangeRestrictedTypeBuilderWithBase<IntegerTypeDefinition>(baseType, path) {
@Override
- IntegerTypeDefinition buildType() {
- return new RestrictedIntegerType(getBaseType(), getPath(), getUnknownSchemaNodes(),
- calculateRangeConstraints(getBaseType().getRangeConstraints()));
+ IntegerTypeDefinition buildType(final RangeConstraint<?> rangeConstraint) {
+ return new RestrictedIntegerType(getBaseType(), getPath(), getUnknownSchemaNodes(), rangeConstraint);
}
};
}
public static RangeRestrictedTypeBuilder<UnsignedIntegerTypeDefinition> newUnsignedBuilder(
final UnsignedIntegerTypeDefinition baseType, final SchemaPath path) {
- return new RangeRestrictedTypeBuilder<UnsignedIntegerTypeDefinition>(checkNotNull(baseType), path) {
+ return new RangeRestrictedTypeBuilderWithBase<UnsignedIntegerTypeDefinition>(baseType, path) {
@Override
- UnsignedIntegerTypeDefinition buildType() {
- return new RestrictedUnsignedType(getBaseType(), getPath(), getUnknownSchemaNodes(),
- calculateRangeConstraints(getBaseType().getRangeConstraints()));
+ UnsignedIntegerTypeDefinition buildType(final RangeConstraint<?> rangeConstraint) {
+ return new RestrictedUnsignedType(getBaseType(), getPath(), getUnknownSchemaNodes(), rangeConstraint);
}
};
}