Added support for parsing submodules & added dependency utility parser
[yangtools.git] / yang / yang-parser-impl / src / main / java / org / opendaylight / yangtools / yang / parser / builder / api / DataNodeContainerBuilder.java
index 0f94b8609f2e11b53e4da5bc296db746574997fa..ecedd8ef489b0a9d033a34d66441aee485e7e536 100644 (file)
@@ -13,6 +13,7 @@ import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.GroupingDefinition;
 import org.opendaylight.yangtools.yang.model.api.SchemaPath;
+import org.opendaylight.yangtools.yang.model.api.TypeDefinition;
 
 /**
  * Interface for all yang data-node containers [augment, case, container,
@@ -34,13 +35,6 @@ public interface DataNodeContainerBuilder extends Builder {
      */
     SchemaPath getPath();
 
-    /**
-     * Get already built child nodes.
-     *
-     * @return collection of child nodes
-     */
-    Set<DataSchemaNode> getChildNodes();
-
     /**
      * Get builders of child nodes.
      *
@@ -64,6 +58,10 @@ public interface DataNodeContainerBuilder extends Builder {
      */
     void addChildNode(DataSchemaNodeBuilder childNode);
 
+    void addChildNode(DataSchemaNode childNode);
+
+    void addChildNodeToContext(DataSchemaNodeBuilder childNode);
+
     /**
      * Get already built groupings defined in this node.
      *
@@ -85,6 +83,13 @@ public interface DataNodeContainerBuilder extends Builder {
      */
     void addGrouping(GroupingBuilder groupingBuilder);
 
+    /**
+     * Get builders of uses defined in this node.
+     *
+     * @return collection of uses builders
+     */
+    Set<UsesNodeBuilder> getUsesNodeBuilders();
+
     /**
      * Add builder of uses statement to this node.
      *
@@ -92,10 +97,12 @@ public interface DataNodeContainerBuilder extends Builder {
      */
     void addUsesNode(UsesNodeBuilder usesBuilder);
 
+    Set<TypeDefinition<?>> getTypeDefinitions();
+
     /**
      * Get builders of typedef statement defined in this node.
      *
-     * @return
+     * @return typedefBuilder
      */
     Set<TypeDefinitionBuilder> getTypeDefinitionBuilders();