package org.opendaylight.mdsal.binding.yang.types;
import com.google.common.collect.ImmutableMap;
-import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import java.math.BigDecimal;
-import java.math.BigInteger;
import org.opendaylight.mdsal.binding.generator.spi.TypeProvider;
-import org.opendaylight.mdsal.binding.model.api.JavaTypeName;
import org.opendaylight.mdsal.binding.model.api.Restrictions;
import org.opendaylight.mdsal.binding.model.api.Type;
import org.opendaylight.mdsal.binding.model.util.Types;
import org.opendaylight.mdsal.binding.spec.naming.BindingMapping;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.opendaylight.yangtools.yang.common.Empty;
+import org.opendaylight.yangtools.yang.common.Uint16;
+import org.opendaylight.yangtools.yang.common.Uint32;
+import org.opendaylight.yangtools.yang.common.Uint64;
+import org.opendaylight.yangtools.yang.common.Uint8;
import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode;
import org.opendaylight.yangtools.yang.model.api.SchemaNode;
import org.opendaylight.yangtools.yang.model.api.TypeDefinition;
/**
* <code>Type</code> representation of <code>uint8</code> YANG type.
*/
- public static final Type UINT8_TYPE = Types.typeForClass(Short.class, singleRangeRestrictions((short)0,
- (short)255));
+ public static final Type UINT8_TYPE = Types.typeForClass(Uint8.class);
/**
* <code>Type</code> representation of <code>uint16</code> YANG type.
*/
- public static final Type UINT16_TYPE = Types.typeForClass(Integer.class, singleRangeRestrictions(0, 65535));
+ public static final Type UINT16_TYPE = Types.typeForClass(Uint16.class);
/**
* <code>Type</code> representation of <code>uint32</code> YANG type.
*/
- public static final Type UINT32_TYPE = Types.typeForClass(Long.class, singleRangeRestrictions(0L, 4294967295L));
+ public static final Type UINT32_TYPE = Types.typeForClass(Uint32.class);
/**
* <code>Type</code> representation of <code>uint64</code> YANG type.
*/
- public static final Type UINT64_TYPE = Types.typeForClass(BigInteger.class,
- singleRangeRestrictions(BigInteger.ZERO, new BigInteger("18446744073709551615")));
-
- public static final Type UNION_TYPE = new UnionType();
+ public static final Type UINT64_TYPE = Types.typeForClass(Uint64.class);
/**
* <code>Type</code> representation of <code>binary</code> YANG type.
.put("uint16", UINT16_TYPE)
.put("uint32", UINT32_TYPE)
.put("uint64", UINT64_TYPE)
- .put("union", UNION_TYPE)
.put("binary", BINARY_TYPE)
.put("instance-identifier", INSTANCE_IDENTIFIER)
.build();
case "string":
return Types.typeForClass(String.class, restrictions);
case "uint8":
- return Types.typeForClass(Short.class, restrictions);
+ return Types.typeForClass(Uint8.class, restrictions);
case "uint16":
- return Types.typeForClass(Integer.class, restrictions);
+ return Types.typeForClass(Uint16.class, restrictions);
case "uint32":
- return Types.typeForClass(Long.class, restrictions);
+ return Types.typeForClass(Uint32.class, restrictions);
case "uint64":
- return Types.typeForClass(BigInteger.class, restrictions);
- case "union" :
- return UNION_TYPE;
+ return Types.typeForClass(Uint64.class, restrictions);
default:
return javaTypeForSchemaDefinitionType(type, parentNode, lenientRelativeLeafrefs);
}
return "_" + BindingMapping.getPropertyName(type.getQName().getLocalName());
}
};
-
- private static <T extends Number & Comparable<T>> Restrictions singleRangeRestrictions(final T min, final T max) {
- return Types.getDefaultRestrictions(min, max);
- }
-
- // FIXME: 5.0.0: remove this class
- @Deprecated
- public static final class UnionType implements Type {
- @Override
- public String getPackageName() {
- return null;
- }
-
- @Override
- public String getName() {
- return "Union";
- }
-
- @Override
- public String getFullyQualifiedName() {
- return "Union";
- }
-
- @Override
- @SuppressFBWarnings("NP_NONNULL_RETURN_VIOLATION")
- public JavaTypeName getIdentifier() {
- return null;
- }
- }
}