BUG-865: remove deprecated BaseTypes constants
[yangtools.git] / yang / yang-model-util / src / main / java / org / opendaylight / yangtools / yang / model / util / BaseTypes.java
index dfc5dfb5c4f0ec385901000ea76b23f1c0f55cc1..27ca7a90b3be03ad87c0609336101b2505d9a016 100644 (file)
@@ -7,13 +7,10 @@
  */
 package org.opendaylight.yangtools.yang.model.util;
 
-import com.google.common.base.Optional;
-import com.google.common.base.Preconditions;
+import com.google.common.base.Strings;
 import com.google.common.collect.ImmutableSet;
-import java.net.URI;
 import java.util.Set;
 import org.opendaylight.yangtools.yang.common.QName;
-import org.opendaylight.yangtools.yang.common.QNameModule;
 import org.opendaylight.yangtools.yang.common.YangConstants;
 import org.opendaylight.yangtools.yang.model.api.TypeDefinition;
 
@@ -27,17 +24,6 @@ public final class BaseTypes {
     private BaseTypes() {
     }
 
-    /**
-     * @deprecated Use {@link YangConstants#RFC6020_YANG_NAMESPACE} instead. To be removed in Boron release.
-     */
-    @Deprecated
-    public static final URI BASE_TYPES_NAMESPACE = YangConstants.RFC6020_YANG_NAMESPACE;
-    /**
-     * @deprecated Use {@link YangConstants#RFC6020_YANG_MODULE} instead. To be removed in Boron release.
-     */
-    @Deprecated
-    public static final QNameModule BASE_TYPES_MODULE = YangConstants.RFC6020_YANG_MODULE;
-
     public static final QName BINARY_QNAME = constructQName("binary");
     public static final QName BITS_QNAME = constructQName("bits");
     public static final QName BOOLEAN_QNAME = constructQName("boolean");
@@ -58,26 +44,26 @@ public final class BaseTypes {
     public static final QName UINT64_QNAME = constructQName("uint64");
     public static final QName UNION_QNAME = constructQName("union");
 
-    private static final Set<String> BUILT_IN_TYPES = ImmutableSet.<String>builder()
-            .add(BINARY_QNAME.getLocalName())
-            .add(BITS_QNAME.getLocalName())
-            .add(BOOLEAN_QNAME.getLocalName())
-            .add(DECIMAL64_QNAME.getLocalName())
-            .add(EMPTY_QNAME.getLocalName())
-            .add(ENUMERATION_QNAME.getLocalName())
-            .add(IDENTITYREF_QNAME.getLocalName())
-            .add(INSTANCE_IDENTIFIER_QNAME.getLocalName())
-            .add(INT8_QNAME.getLocalName())
-            .add(INT16_QNAME.getLocalName())
-            .add(INT32_QNAME.getLocalName())
-            .add(INT64_QNAME.getLocalName())
-            .add(LEAFREF_QNAME.getLocalName())
-            .add(STRING_QNAME.getLocalName())
-            .add(UINT8_QNAME.getLocalName())
-            .add(UINT16_QNAME.getLocalName())
-            .add(UINT32_QNAME.getLocalName())
-            .add(UINT64_QNAME.getLocalName())
-            .add(UNION_QNAME.getLocalName())
+    private static final Set<QName> BUILT_IN_TYPES = ImmutableSet.<QName>builder()
+            .add(BINARY_QNAME)
+            .add(BITS_QNAME)
+            .add(BOOLEAN_QNAME)
+            .add(DECIMAL64_QNAME)
+            .add(EMPTY_QNAME)
+            .add(ENUMERATION_QNAME)
+            .add(IDENTITYREF_QNAME)
+            .add(INSTANCE_IDENTIFIER_QNAME)
+            .add(INT8_QNAME)
+            .add(INT16_QNAME)
+            .add(INT32_QNAME)
+            .add(INT64_QNAME)
+            .add(LEAFREF_QNAME)
+            .add(STRING_QNAME)
+            .add(UINT8_QNAME)
+            .add(UINT16_QNAME)
+            .add(UINT32_QNAME)
+            .add(UINT64_QNAME)
+            .add(UNION_QNAME)
             .build();
 
     /**
@@ -89,7 +75,7 @@ public final class BaseTypes {
      * @return built-in base yang type QName.
      */
     public static QName constructQName(final String typeName) {
-        return QName.cachedReference(QName.create(YangConstants.RFC6020_YANG_MODULE, typeName));
+        return QName.create(YangConstants.RFC6020_YANG_MODULE, typeName).intern();
     }
 
     /**
@@ -102,62 +88,20 @@ public final class BaseTypes {
      * @return true if type is built-in YANG Types.
      */
     public static boolean isYangBuildInType(final String type) {
-        return BUILT_IN_TYPES.contains(type);
+        return !Strings.isNullOrEmpty(type) && BUILT_IN_TYPES.contains(
+                QName.create(YangConstants.RFC6020_YANG_MODULE, type));
     }
 
     /**
-     * Returns default instance of built-in for supplied type
-     *
-     * See package documentation for description of base build-in types
-     * with default instance.
+     * Returns true if supplied type is representation of built-in YANG type as
+     * per RFC 6020.
      *
-     * @param typeName
-     * @return Returns default instance or {@link Optional#absent()} if default
-     *         instance does not exists
+     * See package documentation for description of base types.
      *
-     * @deprecated Use parser-specific lookup tables.
+     * @param type
+     * @return true if type is built-in YANG Types.
      */
-    @Deprecated
-    public static Optional<TypeDefinition<?>> defaultBaseTypeFor(final String typeName) {
-        return Optional.<TypeDefinition<?>> fromNullable(defaultBaseTypeForImpl(typeName));
+    public static boolean isYangBuildInType(final TypeDefinition<?> type) {
+        return type != null && BUILT_IN_TYPES.contains(type.getQName());
     }
-
-    @Deprecated
-    private static TypeDefinition<?> defaultBaseTypeForImpl(final String typeName) {
-        Preconditions.checkNotNull(typeName, "typeName must not be null.");
-
-        if (typeName.startsWith("int")) {
-            if ("int8".equals(typeName)) {
-                return Int8.getInstance();
-            } else if ("int16".equals(typeName)) {
-                return Int16.getInstance();
-            } else if ("int32".equals(typeName)) {
-                return Int32.getInstance();
-            } else if ("int64".equals(typeName)) {
-                return Int64.getInstance();
-            }
-        } else if (typeName.startsWith("uint")) {
-            if ("uint8".equals(typeName)) {
-                return Uint8.getInstance();
-            } else if ("uint16".equals(typeName)) {
-                return Uint16.getInstance();
-            } else if ("uint32".equals(typeName)) {
-                return Uint32.getInstance();
-            } else if ("uint64".equals(typeName)) {
-                return Uint64.getInstance();
-            }
-        } else if ("string".equals(typeName)) {
-            return StringType.getInstance();
-        } else if ("binary".equals(typeName)) {
-            return BinaryType.getInstance();
-        } else if ("boolean".equals(typeName)) {
-            return BooleanType.getInstance();
-        } else if ("empty".equals(typeName)) {
-            return EmptyType.getInstance();
-        } else if ("instance-identifier".equals(typeName)) {
-            return InstanceIdentifierType.getInstance();
-        }
-        return null;
-    }
-
 }