X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=yang%2Fyang-data-api%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Fyang%2Fdata%2Fapi%2Fschema%2Ftree%2FDataTreeFactory.java;h=f7becfe3f88c98bca6cddd2d30e3a3827cba1fd2;hb=82a2d576115f7d9ee5d0232c1c123cfa41510acc;hp=ef0958f2fbc4009be3e20a5ab471c382a238a479;hpb=cbb18c74acab8a9b77ddf1dc19d988e3d0fe37fc;p=yangtools.git diff --git a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/DataTreeFactory.java b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/DataTreeFactory.java index ef0958f2fb..f7becfe3f8 100644 --- a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/DataTreeFactory.java +++ b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/DataTreeFactory.java @@ -7,8 +7,6 @@ */ package org.opendaylight.yangtools.yang.data.api.schema.tree; -import com.google.common.annotations.Beta; -import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNodeContainer; import org.opendaylight.yangtools.yang.model.api.SchemaContext; @@ -16,35 +14,17 @@ import org.opendaylight.yangtools.yang.model.api.SchemaContext; * Factory interface for creating data trees. */ public interface DataTreeFactory { - /** - * Create a new data tree. - * @param type - * Tree type. - * @return A data tree instance. - * - * @deprecated Use {@link #create(DataTreeConfiguration)} instead. - */ - @Deprecated - DataTree create(TreeType type); - - /** - * Create a new data tree rooted at a particular node. - * @param treeType - * Tree type. - * @param rootPath - * Root. - * @return A data tree instance. - * - * @deprecated Use {@link #create(DataTreeConfiguration)} instead. - */ - @Deprecated - DataTree create(TreeType treeType, YangInstanceIdentifier rootPath); - /** * Create a new data tree based on specified configuration, with a best-guess root. Use this method only if you * do not have a corresponding SchemaContext handy. Mandatory nodes whose enforcement point is the root node will * not be enforced even if some are present in the SchemaContext and validation is requested in configuration. * + *

+ * Correctness note: this method may not accurately initialize the root node in certain non-root scenarios due to + * the impossibility to accurately derive root type from plain YangInstanceIdentifier. Using + * {@link #create(DataTreeConfiguration, SchemaContext)} is recommended, as it does not suffer from this + * shortcoming. + * * @param treeConfig * Tree configuration. * @return A data tree instance. @@ -64,7 +44,6 @@ public interface DataTreeFactory { * @throws IllegalArgumentException if tree configuration does not match the SchemaContext, for example by root path * referring to a node which does not exist in the SchemaContext */ - @Beta DataTree create(DataTreeConfiguration treeConfig, SchemaContext initialSchemaContext); /** @@ -77,7 +56,6 @@ public interface DataTreeFactory { * @throws NullPointerException if any of the arguments are null * @throws IllegalArgumentException if a mismatch between the arguments is detected */ - @Beta DataTree create(DataTreeConfiguration treeConfig, SchemaContext initialSchemaContext, NormalizedNodeContainer initialRoot) throws DataValidationFailedException; }