A race condition occurs between ARPHandler and HostTracker if the ARP
[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 import java.util.List;\r
11 \r
12 /**\r
13  * AugmentationSchema represents augment definition. The "augment" statement\r
14  * allows a module or submodule to add to the schema tree defined in an external\r
15  * module, or the current module and its submodules, and to add to the nodes\r
16  * from a grouping in a "uses" statement.\r
17  */\r
18 public interface AugmentationSchema extends DataNodeContainer {\r
19 \r
20     /**\r
21      * @return when statement\r
22      */\r
23     RevisionAwareXPath getWhenCondition();\r
24 \r
25     /**\r
26      * @return textual description of this augment.\r
27      */\r
28     String getDescription();\r
29 \r
30     /**\r
31      * @return textual cross-reference to an external document that provides\r
32      *         additional information relevant to this node.\r
33      */\r
34     String getReference();\r
35 \r
36     /**\r
37      * @return actual status of this node.\r
38      */\r
39     Status getStatus();\r
40 \r
41     /**\r
42      * @return SchemaPath that identifies a node in the schema tree. This node\r
43      *         is called the augment's target node. The target node MUST be\r
44      *         either a container, list, choice, case, input, output, or\r
45      *         notification node. It is augmented with the nodes defined as\r
46      *         child nodes of this AugmentationSchema.\r
47      */\r
48     SchemaPath getTargetPath();\r
49 \r
50     /**\r
51      * @return collection of all unknown nodes defined in this augmentation\r
52      */\r
53     public List<UnknownSchemaNode> getUnknownSchemaNodes();\r
54 \r
55 }\r