Remove BaseYangTypes.UnionType
[mdsal.git] / binding / mdsal-binding-generator-impl / src / main / java / org / opendaylight / mdsal / binding / yang / types / BaseYangTypes.java
index e2781c0c64aadb8f4ec7b84a0ffd3b75d25b5c91..fd9e5c92d071afcbe54a0ff4be861a35368488a0 100644 (file)
@@ -8,17 +8,18 @@
 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;
@@ -69,26 +70,22 @@ public final class BaseYangTypes {
     /**
      * <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.
@@ -116,7 +113,6 @@ public final class BaseYangTypes {
             .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();
@@ -183,15 +179,13 @@ public final class BaseYangTypes {
                 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);
             }
@@ -212,33 +206,4 @@ public final class BaseYangTypes {
             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;
-        }
-    }
 }