X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=yang%2Fyang-parser-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Fyang%2Fparser%2Fbuilder%2Fapi%2FGroupingBuilder.java;h=ab37edb3fbb800f0cd8e6c18854413f93f043df4;hb=c6b4017ff4babad7e237c56ebe299efc90a6f990;hp=821be71dbce0fb0cebd2cf47d73221c786c5b0a8;hpb=c87589087031a10996e0c11740d8a9f41b991c05;p=yangtools.git diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/api/GroupingBuilder.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/api/GroupingBuilder.java index 821be71dbc..ab37edb3fb 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/api/GroupingBuilder.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/api/GroupingBuilder.java @@ -7,6 +7,7 @@ */ package org.opendaylight.yangtools.yang.parser.builder.api; +import java.util.Set; import org.opendaylight.yangtools.yang.model.api.GroupingDefinition; /** @@ -16,7 +17,75 @@ public interface GroupingBuilder extends DataNodeContainerBuilder, SchemaNodeBui /** * Build GroupingDefinition object from this builder. + * + * @return Instance of {@link GroupingDefinition} described by this builder. */ + @Override GroupingDefinition build(); + /** + * + * Returns instantiation of grouping child nodes under supplied builder. + * + * Supplied newParent is not modified. + * + * For each {@link #getChildNodeBuilders()} new builder is created, + * which has supplied new parent set as their {@link Builder#getParent()} + * and QNames have updated namespace and revision per supplied parent + * node. + * + * @param newParent Parent node, under which this grouping should be instantiated. + * @return Set of new builders representing instantiation of this grouping. + */ + Set instantiateChildNodes(Builder newParent); + + + /** + * + * Returns instantiation of grouping type definitions under supplied builder. + * + * Supplied newParent is not modified. + * + * For each {@link #getTypeDefinitionBuilders()} new builder is created, + * which has supplied new parent set as their {@link Builder#getParent()} + * and QNames have updated namespace and revision per supplied parent + * node. + * + * @param newParent Parent node, under which this grouping should be instantiated. + * @return Set of new builders representing instantiation of this grouping. + */ + Set instantiateTypedefs(Builder newParent); + + /** + * + * Returns instantiation of grouping definitions under supplied builder. + * + * Supplied newParent is not modified. + * + * For each {@link #getGroupingBuilders()} new builder is created, + * which has supplied new parent set as their {@link Builder#getParent()} + * and QNames have updated namespace and revision per supplied parent + * node. + * + * @param newParent Parent node, under which this grouping should be instantiated. + * @return Set of new builders representing instantiation of this grouping. + */ + Set instantiateGroupings(Builder newParent); + + /** + * + * Returns instantiation of unknown nodes under supplied builder. + * + * Supplied newParent is not modified. + * + * For each {@link #getUnknownNodes()} new builder is created, + * which has supplied new parent set as their {@link Builder#getParent()} + * and QNames have updated namespace and revision per supplied parent + * node. + * + * @param newParent Parent node, under which this grouping should be instantiated. + * @return Set of new builders representing instantiation of this grouping. + */ + Set instantiateUnknownNodes(Builder newParent); + }