BUG-865: deprecate pre-Beryllium parser elements
[yangtools.git] / yang / yang-parser-impl / src / main / java / org / opendaylight / yangtools / yang / parser / builder / api / UsesNodeBuilder.java
index a3c786d5de82016bd81e2e0b6c13f4f56b4c14e9..aedeef3ccbb47ecfc43498171d5d31655906f12d 100644 (file)
@@ -9,31 +9,32 @@ package org.opendaylight.yangtools.yang.parser.builder.api;
 
 import java.util.List;
 import java.util.Set;
-
 import org.opendaylight.yangtools.yang.model.api.GroupingDefinition;
 import org.opendaylight.yangtools.yang.model.api.SchemaPath;
 import org.opendaylight.yangtools.yang.model.api.UsesNode;
-import org.opendaylight.yangtools.yang.model.api.YangNode;
-import org.opendaylight.yangtools.yang.parser.util.RefineHolder;
 
 /**
- * Interface for builders of 'uses' statement.
+ * Builder for  'uses' statement.
+ *
+ * @deprecated Pre-Beryllium implementation, scheduled for removal.
  */
-public interface UsesNodeBuilder extends GroupingMember, Builder {
+@Deprecated
+public interface UsesNodeBuilder extends GroupingMember {
 
     /**
      * Get parent of this uses node. Since uses can be defined only under on of
      * module, container, list, case, grouping, input, output, notification or
      * augment, return type is DataNodeContainerBuilder.
      */
+    @Override
     DataNodeContainerBuilder getParent();
 
     /**
-     * Get grouping path as string.
+     * Get target grouping path.
      *
-     * @return grouping path as String
+     * @return target grouping path
      */
-    String getGroupingPathAsString();
+    SchemaPath getTargetGroupingPath();
 
     /**
      * Get grouping path.
@@ -83,7 +84,7 @@ public interface UsesNodeBuilder extends GroupingMember, Builder {
     /**
      * Set information if this uses node is defined in augment.
      *
-     * @param augmenting
+     * @param augmenting information about augmentation
      */
     void setAugmenting(boolean augmenting);
 
@@ -107,7 +108,7 @@ public interface UsesNodeBuilder extends GroupingMember, Builder {
      *
      * @return list of RefineHolder objects
      */
-    List<RefineHolder> getRefines();
+    List<RefineBuilder> getRefines();
 
     /**
      * Get refined nodes.
@@ -122,7 +123,7 @@ public interface UsesNodeBuilder extends GroupingMember, Builder {
      * @param refine
      *            new RefineHolder object
      */
-    void addRefine(RefineHolder refine);
+    void addRefine(RefineBuilder refine);
 
     /**
      * Add refine node.
@@ -134,11 +135,33 @@ public interface UsesNodeBuilder extends GroupingMember, Builder {
 
     /**
      * Build new UsesNode object.
+     *
+     *
+     * @return UsesNode Instance of {@link UsesNode} described by this builder.
      */
-    UsesNode build(YangNode parent);
+    @Override
+    UsesNode build();
 
+    /**
+     *
+     * Returns true if uses node was resolved and {@link #getGroupingBuilder()}
+     * was instantiated for parent done of this node.
+     *
+     * @return true if uses node was resolved and associated nodes were instantiated in parent node.
+     */
     boolean isResolved();
 
+    /**
+     *
+     * Sets state of instantiation of {@link #getGroupingBuilder()}
+     * into parent node of this node.
+     *
+     * @deprecated Do not use this, this should be internal to the implementation
+     *  and public API contract.
+     *
+     *  @param resolved resolved
+     */
+    @Deprecated
     void setResolved(boolean resolved);
 
 }