Added more tests for yang parser. Updated current tests.
[controller.git] / opendaylight / sal / yang-prototype / yang / yang-model-util / src / main / java / org / opendaylight / controller / yang / model / util / Uint16.java
index 9db4ea9df878cdbc72da18ef30ebd431a99d0fdb..6cae33b8f5ae67614f6479b032de10a949f70ead 100644 (file)
@@ -7,12 +7,8 @@
  */
 package org.opendaylight.controller.yang.model.util;
 
-import java.net.URI;
-import java.util.Date;
-import java.util.List;
-
 import org.opendaylight.controller.yang.common.QName;
-import org.opendaylight.controller.yang.model.api.type.RangeConstraint;
+import org.opendaylight.controller.yang.model.api.SchemaPath;
 import org.opendaylight.controller.yang.model.api.type.UnsignedIntegerTypeDefinition;
 
 /**
@@ -21,28 +17,16 @@ import org.opendaylight.controller.yang.model.api.type.UnsignedIntegerTypeDefini
  * counterpart of Yang uint32 built-in type is {@link Integer}.
  *
  */
-public class Uint16 extends AbstractUnsignedInteger {
-
+public final class Uint16 extends AbstractUnsignedInteger {
+    public static final int MAX_VALUE = 65535;
     private static final QName name = BaseTypes.constructQName("uint16");
     private Integer defaultValue = null;
     private static final String description = "uint16 represents integer values between 0 and 65535, inclusively.";
+    private final UnsignedIntegerTypeDefinition baseType;
 
-    public Uint16(final List<String> actualPath,
-            final URI namespace, final Date revision) {
-        super(actualPath, namespace, revision, name, description, Short.MIN_VALUE, Short.MAX_VALUE, "");
-    }
-
-    public Uint16(final List<String> actualPath,
-            final URI namespace, final Date revision, final Integer defaultValue) {
-        super(actualPath, namespace, revision, name, description, Short.MIN_VALUE, Short.MAX_VALUE, "");
-        this.defaultValue = defaultValue;
-    }
-
-    public Uint16(final List<String> actualPath,
-            final URI namespace, final Date revision, final List<RangeConstraint> rangeStatements,
-            final String units, final Integer defaultValue) {
-        super(actualPath, namespace, revision, name, description, rangeStatements, units);
-        this.defaultValue = defaultValue;
+    public Uint16(final SchemaPath path) {
+        super(path, name, description, MAX_VALUE, "");
+        this.baseType = this;
     }
 
     /*
@@ -53,7 +37,7 @@ public class Uint16 extends AbstractUnsignedInteger {
      */
     @Override
     public UnsignedIntegerTypeDefinition getBaseType() {
-        return this;
+        return baseType;
     }
 
     /*
@@ -72,8 +56,7 @@ public class Uint16 extends AbstractUnsignedInteger {
     public int hashCode() {
         final int prime = 31;
         int result = super.hashCode();
-        result = prime * result
-                + ((defaultValue == null) ? 0 : defaultValue.hashCode());
+        result = prime * result + ((defaultValue == null) ? 0 : defaultValue.hashCode());
         return result;
     }
 
@@ -109,4 +92,5 @@ public class Uint16 extends AbstractUnsignedInteger {
         builder.append("]");
         return builder.toString();
     }
+
 }