31e0ad682d2b2b9e92473b103bb5d94191257bc1
[controller.git] / opendaylight / sal / yang-prototype / yang / yang-model-api / src / main / java / org / opendaylight / controller / yang / model / api / AugmentationSchema.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.controller.yang.model.api;\r
9 \r
10 /**\r
11  * AugmentationSchema represents augment definition. The "augment" statement\r
12  * allows a module or submodule to add to the schema tree defined in an external\r
13  * module, or the current module and its submodules, and to add to the nodes\r
14  * from a grouping in a "uses" statement.\r
15  */\r
16 public interface AugmentationSchema extends DataNodeContainer {\r
17 \r
18     /**\r
19      * @return when statement\r
20      */\r
21     RevisionAwareXPath getWhenCondition();\r
22 \r
23     /**\r
24      * @return textual description of this augment.\r
25      */\r
26     String getDescription();\r
27 \r
28     /**\r
29      * @return textual cross-reference to an external document that provides\r
30      *         additional information relevant to this node.\r
31      */\r
32     String getReference();\r
33 \r
34     /**\r
35      * @return actual status of this node.\r
36      */\r
37     Status getStatus();\r
38 \r
39     /**\r
40      * @return SchemaPath that identifies a node in the schema tree. This node\r
41      *         is called the augment's target node. The target node MUST be\r
42      *         either a container, list, choice, case, input, output, or\r
43      *         notification node. It is augmented with the nodes defined as\r
44      *         child nodes of this AugmentationSchema.\r
45      */\r
46     SchemaPath getTargetPath();\r
47 \r
48 }\r