Rework NormalizedNode type hierarchy
[yangtools.git] / yang / yang-data-api / src / main / java / org / opendaylight / yangtools / yang / data / api / schema / tree / spi / TreeNodeFactory.java
index 7bae55c2c32889e7d96525ad5d59abc03d456571..bacc520890e0dc170dc01d2a6061d4d86ac484c5 100644 (file)
@@ -7,8 +7,8 @@
  */
 package org.opendaylight.yangtools.yang.data.api.schema.tree.spi;
 
+import org.opendaylight.yangtools.yang.data.api.schema.DistinctNodeContainer;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
-import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNodeContainer;
 import org.opendaylight.yangtools.yang.data.api.schema.OrderedNodeContainer;
 
 /**
@@ -17,7 +17,7 @@ import org.opendaylight.yangtools.yang.data.api.schema.OrderedNodeContainer;
  */
 public final class TreeNodeFactory {
     private TreeNodeFactory() {
-        throw new UnsupportedOperationException("Utility class should not be instantiated");
+        // Hidden on purpose
     }
 
     /**
@@ -27,18 +27,15 @@ public final class TreeNodeFactory {
      * @param version data node version
      * @return new AbstractTreeNode instance, covering the data tree provided
      */
-    public static TreeNode createTreeNode(final NormalizedNode<?, ?> data, final Version version) {
-        if (data instanceof NormalizedNodeContainer<?, ?, ?>) {
+    public static TreeNode createTreeNode(final NormalizedNode data, final Version version) {
+        if (data instanceof DistinctNodeContainer<?, ?, ?>) {
             @SuppressWarnings("unchecked")
-            final NormalizedNodeContainer<?, ?, NormalizedNode<?, ?>> container =
-                    (NormalizedNodeContainer<?, ?, NormalizedNode<?, ?>>) data;
+            final DistinctNodeContainer<?, ?, NormalizedNode> container =
+                    (DistinctNodeContainer<?, ?, NormalizedNode>) data;
             return new SimpleContainerNode(container, version);
         }
         if (data instanceof OrderedNodeContainer<?>) {
-            @SuppressWarnings("unchecked")
-            final OrderedNodeContainer<NormalizedNode<?, ?>> container =
-                    (OrderedNodeContainer<NormalizedNode<?, ?>>) data;
-            return new SimpleContainerNode(container, version);
+            return new SimpleContainerNode(data, version);
         }
         return new ValueNode(data, version);
     }