Added getParent() method to DataSchemaNode and DataNodeContainer. Fixed Bugs.
[yangtools.git] / yang / yang-parser-impl / src / main / java / org / opendaylight / yangtools / yang / parser / builder / api / SchemaNodeBuilder.java
1 /*\r
2  * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.\r
3  *\r
4  * This program and the accompanying materials are made available under the\r
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
6  * and is available at http://www.eclipse.org/legal/epl-v10.html\r
7  */\r
8 package org.opendaylight.yangtools.yang.parser.builder.api;\r
9 \r
10 import org.opendaylight.yangtools.yang.common.QName;\r
11 import org.opendaylight.yangtools.yang.model.api.SchemaNode;\r
12 import org.opendaylight.yangtools.yang.model.api.SchemaPath;\r
13 import org.opendaylight.yangtools.yang.model.api.Status;\r
14 import org.opendaylight.yangtools.yang.model.api.YangNode;\r
15 \r
16 /**\r
17  * Interface for all builders of SchemaNode nodes.\r
18  */\r
19 public interface SchemaNodeBuilder extends Builder {\r
20 \r
21     /**\r
22      * Get qname of this node.\r
23      *\r
24      * @return QName of this node\r
25      */\r
26     QName getQName();\r
27 \r
28     /**\r
29      * Get schema path of this node.\r
30      *\r
31      * @return SchemaPath of this node\r
32      */\r
33     SchemaPath getPath();\r
34 \r
35     /**\r
36      * Set schema path to this node.\r
37      *\r
38      * @param schemaPath\r
39      */\r
40     void setPath(SchemaPath schemaPath);\r
41 \r
42     /**\r
43      * Get description of this node.\r
44      *\r
45      * @return description statement\r
46      */\r
47     String getDescription();\r
48 \r
49     /**\r
50      * Set description to this node.\r
51      *\r
52      * @param description\r
53      */\r
54     void setDescription(String description);\r
55 \r
56     /**\r
57      * Get reference of this node.\r
58      *\r
59      * @return reference statement\r
60      */\r
61     String getReference();\r
62 \r
63     /**\r
64      * Set reference to this node.\r
65      *\r
66      * @param reference\r
67      */\r
68     void setReference(String reference);\r
69 \r
70     /**\r
71      * Get status of this node.\r
72      *\r
73      * @return status statement\r
74      */\r
75     Status getStatus();\r
76 \r
77     /**\r
78      * Set status to this node.\r
79      *\r
80      * @param status\r
81      */\r
82     void setStatus(Status status);\r
83 \r
84     /**\r
85      * Build SchemaNode object from this builder.\r
86      */\r
87     SchemaNode build(YangNode parent);\r
88 \r
89 }\r