2 * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 package org.opendaylight.yangtools.yang.parser.builder.api;
10 import java.util.List;
13 import org.opendaylight.yangtools.yang.model.api.GroupingDefinition;
14 import org.opendaylight.yangtools.yang.model.api.SchemaPath;
15 import org.opendaylight.yangtools.yang.model.api.UsesNode;
16 import org.opendaylight.yangtools.yang.parser.builder.impl.UnknownSchemaNodeBuilder;
17 import org.opendaylight.yangtools.yang.parser.util.RefineHolder;
20 * Interface for builders of 'uses' statement.
22 public interface UsesNodeBuilder extends GroupingMember, Builder {
24 DataNodeContainerBuilder getParent();
26 String getGroupingName();
28 SchemaPath getGroupingPath();
30 void setGroupingPath(SchemaPath groupingPath);
32 GroupingDefinition getGroupingDefinition();
34 void setGroupingDefinition(GroupingDefinition groupingDefinition);
36 GroupingBuilder getGroupingBuilder();
38 void setGrouping(GroupingBuilder grouping);
40 Set<AugmentationSchemaBuilder> getAugmentations();
42 void addAugment(AugmentationSchemaBuilder builder);
44 boolean isAugmenting();
46 void setAugmenting(boolean augmenting);
48 List<RefineHolder> getRefines();
50 List<SchemaNodeBuilder> getRefineNodes();
52 void addRefine(RefineHolder refine);
54 void addRefineNode(DataSchemaNodeBuilder refineNode);
58 Set<DataSchemaNodeBuilder> getTargetChildren();
60 void setTargetChildren(Set<DataSchemaNodeBuilder> targetChildren);
62 Set<GroupingBuilder> getTargetGroupings();
64 void setTargetGroupings(Set<GroupingBuilder> targetGroupings);
66 Set<TypeDefinitionBuilder> getTargetTypedefs();
68 void setTargetTypedefs(Set<TypeDefinitionBuilder> targetTypedefs);
70 List<UnknownSchemaNodeBuilder> getTargetUnknownNodes();
72 void setTargetUnknownNodes(List<UnknownSchemaNodeBuilder> targetUnknownNodes);
74 boolean isDataCollected();
76 void setDataCollected(boolean dataCollected);
78 boolean isParentUpdated();
80 void setParentUpdated(boolean parentUpdated);