*/
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);
}