Bug 2894 - Yang Data Codec Gson: null pointer exception when trying to
[yangtools.git] / yang / yang-model-util / src / main / java / org / opendaylight / yangtools / yang / model / util / Uint32.java
index 375a26bf918aa6c909480d1fb85f048ac21b93bc..aef0f8fac27ff60928a27d9b251b772c0fab3f54 100644 (file)
@@ -7,34 +7,26 @@
  */
 package org.opendaylight.yangtools.yang.model.util;
 
-import org.opendaylight.yangtools.yang.common.QName;
-import org.opendaylight.yangtools.yang.model.api.type.UnsignedIntegerTypeDefinition;
+import org.opendaylight.yangtools.concepts.Immutable;
 
 /**
  * Implementation of Yang uint32 built-in type. <br>
  * uint32 represents integer values between 0 and 4294967295, inclusively.
- * 
+ *
  */
-public final class Uint32 extends AbstractUnsignedInteger {
+public final class Uint32 extends AbstractUnsignedInteger implements Immutable {
     public static final long MAX_VALUE = 4294967295L;
-    private static Uint32 instance;
-    private static final QName NAME = BaseTypes.constructQName("uint32");
     private static final String DESCRIPTION = "uint32 represents integer values between 0 and 4294967295, inclusively.";
 
+    private static final Uint32 INSTANCE = new Uint32();
+
+
     private Uint32() {
-        super(NAME, DESCRIPTION, MAX_VALUE, "");
+        super(BaseTypes.UINT32_QNAME, DESCRIPTION, MAX_VALUE, "");
     }
 
     public static Uint32 getInstance() {
-        if (instance == null) {
-            instance = new Uint32();
-        }
-        return instance;
-    }
-
-    @Override
-    public UnsignedIntegerTypeDefinition getBaseType() {
-        return this;
+        return INSTANCE;
     }
 
     @Override
@@ -44,7 +36,7 @@ public final class Uint32 extends AbstractUnsignedInteger {
 
     @Override
     public String toString() {
-        return "type " + NAME;
+        return "type " + BaseTypes.UINT32_QNAME;
     }
 
 }