Bug 865: Moved filesystem model cache related functionality
[yangtools.git] / yang / yang-model-util / src / main / java / org / opendaylight / yangtools / yang / model / util / Uint64.java
index 555b76f5feb96ac74a99ee4d285a5edb707b9bae..3ec9d25369eb3c966fab370a661cc0a8aea750ab 100644 (file)
@@ -9,7 +9,7 @@ package org.opendaylight.yangtools.yang.model.util;
 
 import java.math.BigInteger;
 
-import org.opendaylight.yangtools.yang.common.QName;
+import org.opendaylight.yangtools.concepts.Immutable;
 
 /**
  * Implementation of Yang uint64 built-in type. <br>
@@ -18,21 +18,18 @@ import org.opendaylight.yangtools.yang.common.QName;
  * {@link BigInteger}.
  *
  */
-public final class Uint64 extends AbstractUnsignedInteger {
+public final class Uint64 extends AbstractUnsignedInteger implements Immutable {
     public static final BigInteger MAX_VALUE = new BigInteger("18446744073709551615");
-    private static Uint64 instance;
-    private static final QName NAME = BaseTypes.constructQName("uint64");
     private static final String DESCRIPTION = "uint64 represents integer values between 0 and 18446744073709551615, inclusively.";
 
+    private static final Uint64 INSTANCE = new Uint64();
+
     private Uint64() {
-        super(NAME, DESCRIPTION, MAX_VALUE, "");
+        super(BaseTypes.UINT64_QNAME, DESCRIPTION, MAX_VALUE, "");
     }
 
     public static Uint64 getInstance() {
-        if (instance == null) {
-            instance = new Uint64();
-        }
-        return instance;
+        return INSTANCE;
     }
 
     @Override
@@ -42,7 +39,7 @@ public final class Uint64 extends AbstractUnsignedInteger {
 
     @Override
     public String toString() {
-        return "type " + NAME;
+        return "type " + BaseTypes.UINT64_QNAME;
     }
 
 }