--- /dev/null
+/*\r
+ * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved.\r
+ *\r
+ * This program and the accompanying materials are made available under the\r
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
+ * and is available at http://www.eclipse.org/legal/epl-v10.html\r
+ */\r
+package org.opendaylight.yangtools.yang.model.api;\r
+\r
+import java.util.List;\r
+\r
+/**\r
+ * AugmentationSchema represents augment definition. The "augment" statement\r
+ * allows a module or submodule to add to the schema tree defined in an external\r
+ * module, or the current module and its submodules, and to add to the nodes\r
+ * from a grouping in a "uses" statement.\r
+ */\r
+public interface AugmentationSchema extends DataNodeContainer {\r
+\r
+ /**\r
+ * @return when statement\r
+ */\r
+ RevisionAwareXPath getWhenCondition();\r
+\r
+ /**\r
+ * @return textual description of this augment.\r
+ */\r
+ String getDescription();\r
+\r
+ /**\r
+ * @return textual cross-reference to an external document that provides\r
+ * additional information relevant to this node.\r
+ */\r
+ String getReference();\r
+\r
+ /**\r
+ * @return actual status of this node.\r
+ */\r
+ Status getStatus();\r
+\r
+ /**\r
+ * @return SchemaPath that identifies a node in the schema tree. This node\r
+ * is called the augment's target node. The target node MUST be\r
+ * either a container, list, choice, case, input, output, or\r
+ * notification node. It is augmented with the nodes defined as\r
+ * child nodes of this AugmentationSchema.\r
+ */\r
+ SchemaPath getTargetPath();\r
+\r
+ /**\r
+ * @return collection of all unknown nodes defined in this augmentation\r
+ */\r
+ public List<UnknownSchemaNode> getUnknownSchemaNodes();\r
+\r
+}\r