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 GroupingDefinition getGroupingDefinition();
32 void setGroupingDefinition(GroupingDefinition groupingDefinition);
34 GroupingBuilder getGroupingBuilder();
36 void setGrouping(GroupingBuilder grouping);
38 Set<AugmentationSchemaBuilder> getAugmentations();
40 void addAugment(AugmentationSchemaBuilder builder);
42 boolean isAugmenting();
44 void setAugmenting(boolean augmenting);
46 List<RefineHolder> getRefines();
48 List<SchemaNodeBuilder> getRefineNodes();
50 void addRefine(RefineHolder refine);
52 void addRefineNode(DataSchemaNodeBuilder refineNode);
56 Set<DataSchemaNodeBuilder> getTargetChildren();
58 void setTargetChildren(Set<DataSchemaNodeBuilder> targetChildren);
60 Set<GroupingBuilder> getTargetGroupings();
62 void setTargetGroupings(Set<GroupingBuilder> targetGroupings);
64 Set<TypeDefinitionBuilder> getTargetTypedefs();
66 void setTargetTypedefs(Set<TypeDefinitionBuilder> targetTypedefs);
68 List<UnknownSchemaNodeBuilder> getTargetUnknownNodes();
70 void setTargetUnknownNodes(List<UnknownSchemaNodeBuilder> targetUnknownNodes);
74 boolean isDataCollected();
76 void setDataCollected(boolean dataCollected);
78 boolean isParentUpdated();
80 void setParentUpdated(boolean parentUpdated);