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=a82e0eedfc495557dd0af532d0be95f0ec4faf33;hb=42abb28b99a02f9580f4676ce5c315628e5bcd24;hp=787763f467318701ab884e5035a5de0a1ec1ea53;hpb=5c1f875f69e35248aa4115c429bd962160beeef4;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 787763f467..a82e0eedfc 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,25 +7,89 @@ */ package org.opendaylight.yangtools.yang.parser.builder.api; +import java.util.List; import java.util.Set; - import org.opendaylight.yangtools.yang.model.api.GroupingDefinition; /** * Interface for builders of 'grouping' statement. + * + * @deprecated Pre-Beryllium implementation, scheduled for removal. */ +@Deprecated public interface GroupingBuilder extends DataNodeContainerBuilder, SchemaNodeBuilder, GroupingMember { /** * Build GroupingDefinition object from this builder. + * + * @return Instance of {@link GroupingDefinition} described by this builder. */ + @Override GroupingDefinition build(); /** - * Get uses statement defined in this builder * - * @return collection of builders of uses statements + * 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 List of new builders representing instantiation of this grouping. */ - Set getUses(); + List 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); }