X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fsal%2Fyang-prototype%2Fcode-generator%2Fyang-model-parser-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fyang%2Fparser%2Fbuilder%2Fapi%2FDataNodeContainerBuilder.java;h=7a5f80de9cd62546f3e72d8550a94bcecd0d8e40;hb=0df356fd6dd1e24f82a4afaa6c824517d354fb20;hp=32c7a6d3f17f2a4ffd9bb2f8eda512560ae719ef;hpb=50d50e106bcbe761b05417e747c217c1f5b36534;p=controller.git diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/DataNodeContainerBuilder.java b/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/DataNodeContainerBuilder.java index 32c7a6d3f1..7a5f80de9c 100644 --- a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/DataNodeContainerBuilder.java +++ b/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/DataNodeContainerBuilder.java @@ -10,6 +10,8 @@ package org.opendaylight.controller.yang.parser.builder.api; import java.util.Set; import org.opendaylight.controller.yang.common.QName; +import org.opendaylight.controller.yang.model.api.DataSchemaNode; +import org.opendaylight.controller.yang.model.api.GroupingDefinition; import org.opendaylight.controller.yang.model.api.SchemaPath; /** @@ -18,20 +20,90 @@ import org.opendaylight.controller.yang.model.api.SchemaPath; */ public interface DataNodeContainerBuilder extends Builder { + /** + * Get qname of this node. + * + * @return QName of this node + */ QName getQName(); - Set getChildNodes(); + /** + * Get schema path of this node. + * + * @return SchemaPath of this node + */ + SchemaPath getPath(); + + /** + * Get already built child nodes. + * + * @return collection of child nodes + */ + Set getChildNodes(); + + /** + * Get builders of child nodes. + * + * @return collection child nodes builders + */ + Set getChildNodeBuilders(); + + /** + * Get child node by name. + * + * @param name + * name of child to seek + * @return child node with given name if present, null otherwise + */ + DataSchemaNodeBuilder getDataChildByName(String name); + /** + * Add builder of child node to this node. + * + * @param childNode + */ void addChildNode(DataSchemaNodeBuilder childNode); + /** + * Get already built groupings defined in this node. + * + * @return collection of GroupingDefinition objects + */ + Set getGroupings(); + + /** + * Get builders of groupings defined in this node. + * + * @return collection of grouping builders + */ + Set getGroupingBuilders(); + + /** + * Add builder of grouping statement to this node. + * + * @param groupingBuilder + */ void addGrouping(GroupingBuilder groupingBuilder); + /** + * Add builder of uses statement to this node. + * + * @param usesBuilder + */ void addUsesNode(UsesNodeBuilder usesBuilder); - Set getTypeDefinitions(); + /** + * Get builders of typedef statement defined in this node. + * + * @return + */ + Set getTypeDefinitionBuilders(); + /** + * Add typedef builder to this node. + * + * @param typedefBuilder + */ void addTypedef(TypeDefinitionBuilder typedefBuilder); - SchemaPath getPath(); - }