Migrate Must/WhenStatementSupport to BaseStatementSupport
[yangtools.git] / yang / yang-model-api / src / main / java / org / opendaylight / yangtools / yang / model / api / UsesNode.java
index f8e163cbf186f059bffdb450c2e6d15e5bfb9d21..786e906da04888149ad412be4b21a410be42791d 100644 (file)
@@ -7,33 +7,35 @@
  */
 package org.opendaylight.yangtools.yang.model.api;
 
+import java.util.Collection;
 import java.util.Map;
-import java.util.Set;
 import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.yangtools.yang.model.api.DocumentedNode.WithStatus;
+import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier.Descendant;
 
 /**
  * Contains the methods for getting data and checking properties of the YANG <code>uses</code> substatement.
  */
 public interface UsesNode extends WhenConditionAware, WithStatus, CopyableNode {
     /**
-     * Returns the schema path to used grouping.
+     * Returns the {code grouping} which this node acted upon.
      *
-     * @return schema path to 'grouping' on which this 'uses' statement points
+     * @return Source grouping
      */
-    @NonNull SchemaPath getGroupingPath();
+    @NonNull GroupingDefinition getSourceGrouping();
 
     /**
      * Returns augmentations which were specified in this uses node.
      *
      * @return Set of augment statements defined under this uses node
      */
-    @NonNull Set<AugmentationSchemaNode> getAugmentations();
+    @NonNull Collection<? extends AugmentationSchemaNode> getAugmentations();
 
     /**
      * Some of the properties of each node in the grouping can be refined with the "refine" statement.
      *
-     * @return Map, where key is schema path of refined node and value is refined node
+     * @return Map, where key is schema node identifier of refined node and value is refined node.
      */
-    @NonNull Map<SchemaPath, SchemaNode> getRefines();
+    // FIXME: I am not sure I understand why do we need to track these, who are the actual users?
+    @NonNull Map<Descendant, SchemaNode> getRefines();
 }