Implemented ordering of yang module data nodes. Added Comparators utility class. 86/686/1
authorMartin Vitez <mvitez@cisco.com>
Tue, 2 Jul 2013 12:13:48 +0000 (14:13 +0200)
committerMartin Vitez <mvitez@cisco.com>
Wed, 24 Jul 2013 11:44:53 +0000 (13:44 +0200)
Added checking for duplicate nodes. Added getParent() method to Builder interface.
Removed unused TypeDefinitionAwareBuilder interface.
Fixed bug in processing augmentation of choice node.
Added more logs, javadocs, tests.

Change-Id: I6d7a504cdb516c267d42b99091120649027b453d
Signed-off-by: Martin Vitez <mvitez@cisco.com>
yang-model-api/src/main/java/org/opendaylight/controller/yang/model/api/AugmentationSchema.java
yang-model-api/src/main/java/org/opendaylight/controller/yang/model/api/DataNodeContainer.java
yang-model-api/src/main/java/org/opendaylight/controller/yang/model/api/GroupingDefinition.java
yang-model-api/src/main/java/org/opendaylight/controller/yang/model/api/Module.java
yang-model-api/src/main/java/org/opendaylight/controller/yang/model/api/UsesNode.java

index 31e0ad682d2b2b9e92473b103bb5d94191257bc1..ae0f72cfe8538b6b294b0a4c5ebaf011a8c84bb4 100644 (file)
@@ -7,6 +7,8 @@
  */\r
 package org.opendaylight.controller.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
@@ -45,4 +47,9 @@ public interface AugmentationSchema extends DataNodeContainer {
      */\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
index e8c814e20804eadea4ec916ec834a4b3310c7e82..b636a320d4c474cffcc8cb4788a18e6a15195682 100644 (file)
@@ -17,17 +17,23 @@ import org.opendaylight.controller.yang.common.QName;
 public interface DataNodeContainer {\r
 \r
     /**\r
-     * @return Set of all newly defined types within this DataNodeContainer\r
+     * Returns set of all newly defined types within this DataNodeContainer.\r
+     *\r
+     * @return typedef statements in lexicographical order\r
      */\r
     Set<TypeDefinition<?>> getTypeDefinitions();\r
 \r
     /**\r
-     * Set of all child nodes defined within this DataNodeContainer\r
+     * Returns set of all child nodes defined within this DataNodeContainer.\r
+     *\r
+     * @return child nodes in lexicographical order\r
      */\r
     Set<DataSchemaNode> getChildNodes();\r
 \r
     /**\r
-     * Set of all groupings defined within this DataNodeContainer\r
+     * Returns set of all groupings defined within this DataNodeContainer.\r
+     *\r
+     * @return grouping statements in lexicographical order\r
      */\r
     Set<GroupingDefinition> getGroupings();\r
 \r
index a04119b038901f98c7fb871992e5b55f3b8c8c4d..648eacfccf71b4c58676708060763a922839bbb1 100644 (file)
@@ -17,6 +17,13 @@ package org.opendaylight.controller.yang.model.api;
  */\r
 public interface GroupingDefinition extends DataNodeContainer, SchemaNode {\r
 \r
+    /**\r
+     * Returns <code>true</code> if the data node was added by uses statement,\r
+     * otherwise returns <code>false</code>\r
+     *\r
+     * @return <code>true</code> if the data node was added by uses statement,\r
+     *         otherwise returns <code>false</code>\r
+     */\r
     boolean isAddedByUses();\r
 \r
 }\r
index 51dd9f65074d2113314d6a27182d889b8b0adc37..a38d48817b1b1d4b6ecf35d4bc1bf425248ddd29 100644 (file)
@@ -34,20 +34,60 @@ public interface Module extends DataNodeContainer {
 \r
     Set<ModuleImport> getImports();\r
 \r
+    /**\r
+     * Returns feature statements defined in module.\r
+     *\r
+     * @return feature statements in lexicographical order\r
+     */\r
     Set<FeatureDefinition> getFeatures();\r
 \r
+    /**\r
+     * Returns notification statements defined in module.\r
+     *\r
+     * @return notification statements in lexicographical order\r
+     */\r
     Set<NotificationDefinition> getNotifications();\r
 \r
+    /**\r
+     * Returns augment statements defined in module.\r
+     *\r
+     * @return augment statements\r
+     */\r
     Set<AugmentationSchema> getAugmentations();\r
 \r
+    /**\r
+     * Returns rpc statements defined in module.\r
+     *\r
+     * @return rpc statements in lexicographical order\r
+     */\r
     Set<RpcDefinition> getRpcs();\r
 \r
+    /**\r
+     * Returns deviation statements defined in module.\r
+     *\r
+     * @return deviation statements\r
+     */\r
     Set<Deviation> getDeviations();\r
 \r
+    /**\r
+     * Returns identity statements defined in module.\r
+     *\r
+     * @return identity statements in lexicographical order\r
+     */\r
     Set<IdentitySchemaNode> getIdentities();\r
 \r
+    /**\r
+     * Returns extension statements defined in module.\r
+     *\r
+     * @return extension statements in lexicographical order\r
+     */\r
     List<ExtensionDefinition> getExtensionSchemaNodes();\r
 \r
+    /**\r
+     * Returns unknown nodes defined in module.\r
+     *\r
+     * @return unknown nodes in lexicographical order\r
+     */\r
     List<UnknownSchemaNode> getUnknownSchemaNodes();\r
 \r
 }\r
index 0fc8a0e49d2fb02d3438d0824dcd6c012a8b72e5..1920f9859c55e68825677decfe92f4bd9a2a0469 100644 (file)
@@ -31,6 +31,13 @@ public interface UsesNode {
      */\r
     boolean isAugmenting();\r
 \r
+    /**\r
+     * Returns <code>true</code> if the data node was added by uses statement,\r
+     * otherwise returns <code>false</code>\r
+     *\r
+     * @return <code>true</code> if the data node was added by uses statement,\r
+     *         otherwise returns <code>false</code>\r
+     */\r
     boolean isAddedByUses();\r
 \r
     /**\r