Minor code refactoring in YangParserImpl.
[yangtools.git] / yang / yang-parser-impl / src / main / java / org / opendaylight / yangtools / yang / parser / builder / api / UsesNodeBuilder.java
1 /*
2  * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.
3  *
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
7  */
8 package org.opendaylight.yangtools.yang.parser.builder.api;
9
10 import java.util.List;
11 import java.util.Set;
12
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;
18
19 /**
20  * Interface for builders of 'uses' statement.
21  */
22 public interface UsesNodeBuilder extends GroupingMember, Builder {
23
24     DataNodeContainerBuilder getParent();
25
26     String getGroupingName();
27
28     SchemaPath getGroupingPath();
29
30     GroupingDefinition getGroupingDefinition();
31
32     void setGroupingDefinition(GroupingDefinition groupingDefinition);
33
34     GroupingBuilder getGroupingBuilder();
35
36     void setGrouping(GroupingBuilder grouping);
37
38     Set<AugmentationSchemaBuilder> getAugmentations();
39
40     void addAugment(AugmentationSchemaBuilder builder);
41
42     boolean isAugmenting();
43
44     void setAugmenting(boolean augmenting);
45
46     List<RefineHolder> getRefines();
47
48     List<SchemaNodeBuilder> getRefineNodes();
49
50     void addRefine(RefineHolder refine);
51
52     void addRefineNode(DataSchemaNodeBuilder refineNode);
53
54     UsesNode build();
55
56     Set<DataSchemaNodeBuilder> getTargetChildren();
57
58     void setTargetChildren(Set<DataSchemaNodeBuilder> targetChildren);
59
60     Set<GroupingBuilder> getTargetGroupings();
61
62     void setTargetGroupings(Set<GroupingBuilder> targetGroupings);
63
64     Set<TypeDefinitionBuilder> getTargetTypedefs();
65
66     void setTargetTypedefs(Set<TypeDefinitionBuilder> targetTypedefs);
67
68     List<UnknownSchemaNodeBuilder> getTargetUnknownNodes();
69
70     void setTargetUnknownNodes(List<UnknownSchemaNodeBuilder> targetUnknownNodes);
71
72     boolean isCopy();
73
74     boolean isDataCollected();
75
76     void setDataCollected(boolean dataCollected);
77
78     boolean isParentUpdated();
79
80     void setParentUpdated(boolean parentUpdated);
81
82 }