Merge "Moved parsing of unknown nodes from implementation to abstract classes."
[controller.git] / opendaylight / sal / yang-prototype / code-generator / yang-model-parser-impl / src / main / java / org / opendaylight / controller / yang / parser / builder / api / TypeAwareBuilder.java
index 559eedb6dc869dc3e7140879ca0d2e152724ccd1..8b2e669f98753f02d4212d48797440e6ffc57856 100644 (file)
@@ -8,22 +8,58 @@
 package org.opendaylight.controller.yang.parser.builder.api;
 
 import org.opendaylight.controller.yang.common.QName;
+import org.opendaylight.controller.yang.model.api.SchemaPath;
 import org.opendaylight.controller.yang.model.api.TypeDefinition;
 
 /**
- * Builders of all nodes, which can have 'type' statement must implement this interface.
- * [typedef, type, leaf, leaf-list, deviate]
+ * Builders of all nodes, which can have 'type' statement must implement this
+ * interface. [typedef, type, leaf, leaf-list, deviate]
  */
 public interface TypeAwareBuilder extends Builder {
 
+    /**
+     * Get qname of this node.
+     *
+     * @return QName of this node
+     */
     QName getQName();
 
+    /**
+     * Get schema path of this node.
+     *
+     * @return SchemaPath of this node
+     */
+    SchemaPath getPath();
+
+    /**
+     * Get resolved type of this node.
+     *
+     * @return type of this node if it is already resolved, null otherwise
+     */
     TypeDefinition<?> getType();
 
+    /**
+     * Get builder of type of this node.
+     *
+     * @return builder of type of this node or null of this builder has already
+     *         resolved type
+     */
     TypeDefinitionBuilder getTypedef();
 
+    /**
+     * Set resolved type to this node.
+     *
+     * @param type
+     *            type to set
+     */
     void setType(TypeDefinition<?> type);
 
-    void setType(TypeDefinitionBuilder typedef);
+    /**
+     * Set builder of type to this node.
+     *
+     * @param typedef
+     *            builder of type to set
+     */
+    void setTypedef(TypeDefinitionBuilder typedef);
 
 }