X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=yang%2Fyang-data-api%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Fyang%2Fdata%2Fapi%2Fschema%2Ftree%2Fspi%2FTreeNodeFactory.java;h=bacc520890e0dc170dc01d2a6061d4d86ac484c5;hb=970923b5f47f7507ec78021965fa5df1a878af48;hp=656814162f21d4a54c39900f7a4c6d64d09fbd26;hpb=6c8e31286e3adaf52ed3decce3d78198ef88338a;p=yangtools.git diff --git a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/spi/TreeNodeFactory.java b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/spi/TreeNodeFactory.java index 656814162f..bacc520890 100644 --- a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/spi/TreeNodeFactory.java +++ b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/spi/TreeNodeFactory.java @@ -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,30 +17,26 @@ 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 } /** - * Create a new AbstractTreeNode from a data node, descending recursively as needed. - * This method should only ever be used for new data. + * Create a new AbstractTreeNode from a data node. * * @param data data node * @param version data node version * @return new AbstractTreeNode instance, covering the data tree provided */ - public static final 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") - NormalizedNodeContainer> container = (NormalizedNodeContainer>) data; - return ContainerNode.create(version, container); - + final DistinctNodeContainer container = + (DistinctNodeContainer) data; + return new SimpleContainerNode(container, version); } if (data instanceof OrderedNodeContainer) { - @SuppressWarnings("unchecked") - OrderedNodeContainer> container = (OrderedNodeContainer>) data; - return ContainerNode.create(version, container); + return new SimpleContainerNode(data, version); } - return new ValueNode(data, version); } }