import org.opendaylight.yangtools.yang.model.api.AugmentationSchema;
import org.opendaylight.yangtools.yang.model.api.SchemaPath;
-import org.opendaylight.yangtools.yang.model.api.Status;
/**
- * Interface for builders of 'augment' statement.
+ * Builder for {@link AugmentationSchema}, which represents 'augment' statement.
*/
-public interface AugmentationSchemaBuilder extends DataNodeContainerBuilder {
-
+public interface AugmentationSchemaBuilder extends DataNodeContainerBuilder,DocumentedNodeBuilder {
+
+ /**
+ * Returns when condition
+ *
+ * If when condition is present node defined by the parent data definition
+ * statement is only valid when the returned XPath expression conceptually
+ * evaluates to "true" for a particular instance, then the node defined by
+ * the parent data definition statement is valid; otherwise, it is not.
+ *
+ * @return when condition as string
+ */
String getWhenCondition();
+ /**
+ * Adds string representation of when condition.
+ *
+ * If when condition is present node defined by the parent data definition
+ * statement is only valid when the returned XPath
+ * expression conceptually evaluates to "true"
+ * for a particular instance, then the node defined by the parent data
+ * definition statement is valid; otherwise, it is not.
+ *
+ * @param whenCondition
+ */
void addWhenCondition(String whenCondition);
- String getDescription();
-
- void setDescription(String description);
-
- String getReference();
-
- void setReference(String reference);
-
- Status getStatus();
-
- void setStatus(Status status);
-
+ /**
+ * Returns target path representation as was present in schema source.
+ *
+ * @return path to target node as String
+ */
String getTargetPathAsString();
+ /**
+ * Get path to target node.
+ * <p>
+ * Note that individual parts of path contain only prefix relative to
+ * current context and name of node.
+ * </p>
+ *
+ * @return path to target node as SchemaPath
+ */
SchemaPath getTargetPath();
- void setTargetPath(SchemaPath path);
-
+ @Override
AugmentationSchema build();
+ /**
+ * Get information about augmentation process.
+ *
+ * @return true, if augmentation process was performed already, false
+ * otherwise
+ */
boolean isResolved();
+ /**
+ * Set information about augmentation process.
+ *
+ * @param resolved
+ */
void setResolved(boolean resolved);
+ /**
+ *
+ * Returns position of defining <code>augment</code> statement
+ * as was present in schema source.
+ *
+ * @return Position of definiing augment statement in source code.
+ */
+ int getOrder();
+
}