Use Uint constants in base types
[yangtools.git] / yang / yang-model-util / src / main / java / org / opendaylight / yangtools / yang / model / util / type / BaseUint32Type.java
index 56b0b2ef4d29c63d4d180523b0a46b249cfe2924..e4ada104a3109a9d98603c609fc2712f039af00d 100644 (file)
@@ -7,12 +7,31 @@
  */
 package org.opendaylight.yangtools.yang.model.util.type;
 
+import org.eclipse.jdt.annotation.NonNull;
+import org.opendaylight.yangtools.yang.common.Uint32;
+import org.opendaylight.yangtools.yang.model.api.type.Uint32TypeDefinition;
 import org.opendaylight.yangtools.yang.model.util.BaseTypes;
 
-final class BaseUint32Type extends AbstractUnsignedBaseType<Long> {
-    static final BaseUint32Type INSTANCE = new BaseUint32Type();
+final class BaseUint32Type extends AbstractRangeRestrictedBaseType<Uint32TypeDefinition, Uint32>
+        implements Uint32TypeDefinition {
+    static final @NonNull BaseUint32Type INSTANCE = new BaseUint32Type();
 
     private BaseUint32Type() {
-        super(BaseTypes.UINT32_QNAME, 0L, 4294967295L);
+        super(BaseTypes.UINT32_QNAME, Uint32.ZERO, Uint32.MAX_VALUE);
+    }
+
+    @Override
+    public int hashCode() {
+        return Uint32TypeDefinition.hashCode(this);
+    }
+
+    @Override
+    public boolean equals(final Object obj) {
+        return Uint32TypeDefinition.equals(this, obj);
+    }
+
+    @Override
+    public String toString() {
+        return Uint32TypeDefinition.toString(this);
     }
 }