BUG-4638: Implement length restrictions
[yangtools.git] / yang / yang-model-util / src / main / java / org / opendaylight / yangtools / yang / model / util / Uint16.java
index 4c386c48d5b3988f083bb794f2840e745158746f..5c233df5ad9c761a1b344ebca0c38e0a006e572a 100644 (file)
@@ -7,7 +7,7 @@
  */
 package org.opendaylight.yangtools.yang.model.util;
 
-import org.opendaylight.yangtools.yang.common.QName;
+import org.opendaylight.yangtools.concepts.Immutable;
 
 /**
  * Implementation of Yang uint16 built-in type. <br>
@@ -15,21 +15,18 @@ import org.opendaylight.yangtools.yang.common.QName;
  * counterpart of Yang uint16 built-in type is {@link Integer}.
  *
  */
-public final class Uint16 extends AbstractUnsignedInteger {
+public final class Uint16 extends AbstractUnsignedInteger implements Immutable {
     public static final int MAX_VALUE = 65535;
-    private static Uint16 instance;
-    private static final QName NAME = BaseTypes.constructQName("uint16");
     private static final String DESCRIPTION = "uint16 represents integer values between 0 and 65535, inclusively.";
 
+    private static final Uint16 INSTANCE = new Uint16();
+
     private Uint16() {
-        super(NAME, DESCRIPTION, MAX_VALUE, "");
+        super(BaseTypes.UINT16_QNAME, DESCRIPTION, MAX_VALUE, "");
     }
 
     public static Uint16 getInstance() {
-        if (instance == null) {
-            instance = new Uint16();
-        }
-        return instance;
+        return INSTANCE;
     }
 
     @Override
@@ -39,7 +36,7 @@ public final class Uint16 extends AbstractUnsignedInteger {
 
     @Override
     public String toString() {
-        return "type " + NAME;
+        return "type " + BaseTypes.UINT16_QNAME;
     }
 
 }