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>
*/\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
*/\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
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
*/\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
\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
*/\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