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%2FDataNodeContainerBuilder.java;h=fa0693901b9d1b44999d9972fd8c66a62639dc7a;hb=42abb28b99a02f9580f4676ce5c315628e5bcd24;hp=2d451da501dfe4e0e3cd45fbdcf24ad2a7250b6f;hpb=fdf5ee9c3cde2766380c27703055251084ddf61d;p=yangtools.git diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/api/DataNodeContainerBuilder.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/api/DataNodeContainerBuilder.java index 2d451da501..fa0693901b 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/api/DataNodeContainerBuilder.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/api/DataNodeContainerBuilder.java @@ -1,11 +1,13 @@ /* - * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved. + * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved. + * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ package org.opendaylight.yangtools.yang.parser.builder.api; +import java.util.List; import java.util.Map; import java.util.Set; import org.opendaylight.yangtools.yang.common.QName; @@ -19,7 +21,10 @@ import org.opendaylight.yangtools.yang.model.api.TypeDefinition; * Common builder for for all YANG {@link DataNodeContainer} * augment, case, container, * grouping, list, module, notification. + * + * @deprecated Pre-Beryllium implementation, scheduled for removal. */ +@Deprecated public interface DataNodeContainerBuilder extends Builder { /** @@ -37,14 +42,15 @@ public interface DataNodeContainerBuilder extends Builder { SchemaPath getPath(); /** - * Returns set of of child node builders. + * Returns list of of child node builders in order they are declared in yang + * file. * * This child node builder are build, during invoking {@link #build()} and * added as children to resulting {@link DataNodeContainer}. * * @return collection child nodes builders */ - Set getChildNodeBuilders(); + List getChildNodeBuilders(); /** * Retrieves child node builder by local name. @@ -58,10 +64,18 @@ public interface DataNodeContainerBuilder extends Builder { /** * Add builder of child node to this node. * - * @param childNode + * @param childNode name of child node to add */ void addChildNode(DataSchemaNodeBuilder childNode); + /** + * Add builder of child node to this node at specified position. + * + * @param index position at which the child node will be added + * @param childNode name of child node to add at specified position + */ + void addChildNode(int index, DataSchemaNodeBuilder childNode); + void addChildNode(DataSchemaNode childNode); void addChildNodeToContext(DataSchemaNodeBuilder childNode); @@ -83,7 +97,7 @@ public interface DataNodeContainerBuilder extends Builder { /** * Add builder of grouping statement to this node. * - * @param groupingBuilder + * @param groupingBuilder grouping statement builder */ void addGrouping(GroupingBuilder groupingBuilder); @@ -92,12 +106,12 @@ public interface DataNodeContainerBuilder extends Builder { * * @return collection of uses builders */ - Set getUsesNodeBuilders(); + List getUsesNodeBuilders(); /** * Add builder of uses statement to this node. * - * @param usesBuilder + * @param usesBuilder uses statement builder */ void addUsesNode(UsesNodeBuilder usesBuilder); @@ -111,30 +125,36 @@ public interface DataNodeContainerBuilder extends Builder { /** * Returns builders of typedef statement defined in this node. * - * @return builders of typedef statement defined in this node. + * @return builders of typedef statement defined in this node. */ Set getTypeDefinitionBuilders(); /** * Add typedef builder to this node. * - * @param typedefBuilder Builder to add to this node. + * @param typedefBuilder + * Builder to add to this node. */ void addTypedef(TypeDefinitionBuilder typedefBuilder); /** * Returns an instance of product - DataNodeContainer * - * Returns an instance of data node container with - * children and properties constructed as per this builder state, - * all nested builders are also built and their product is - * set to DataNodeContainer. + * Returns an instance of data node container with children and properties + * constructed as per this builder state, all nested builders are also built + * and their product is set to DataNodeContainer. * * @return Instance of DataNodeContainer */ @Override DataNodeContainer build(); + /** + * Returns map of child nodes of this node. Child nodes should be in same + * order as they were defined in yang file. + * + * @return map of child nodes of this node + */ Map getChildNodes(); }