Updated yangtools version to 0.5.6-SNAPSHOT.
[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.SchemaPath;
14 import org.opendaylight.yangtools.yang.model.api.UsesNode;
15 import org.opendaylight.yangtools.yang.parser.builder.impl.UnknownSchemaNodeBuilder;
16 import org.opendaylight.yangtools.yang.parser.util.RefineHolder;
17
18 /**
19  * Interface for builders of 'uses' statement.
20  */
21 public interface UsesNodeBuilder extends GroupingMember, Builder {
22
23     DataNodeContainerBuilder getParent();
24
25     String getGroupingName();
26
27     SchemaPath getGroupingPath();
28
29     void setGroupingPath(SchemaPath groupingPath);
30
31     Set<AugmentationSchemaBuilder> getAugmentations();
32
33     void addAugment(AugmentationSchemaBuilder builder);
34
35     boolean isAugmenting();
36
37     void setAugmenting(boolean augmenting);
38
39     List<RefineHolder> getRefines();
40
41     List<SchemaNodeBuilder> getRefineNodes();
42
43     void addRefine(RefineHolder refine);
44
45     void addRefineNode(DataSchemaNodeBuilder refineNode);
46
47     UsesNode build();
48
49     Set<DataSchemaNodeBuilder> getTargetChildren();
50
51     Set<GroupingBuilder> getTargetGroupings();
52
53     Set<TypeDefinitionBuilder> getTargetTypedefs();
54
55     List<UnknownSchemaNodeBuilder> getTargetUnknownNodes();
56
57 }