BUG-865: deprecate pre-Beryllium parser elements
[yangtools.git] / yang / yang-parser-impl / src / main / java / org / opendaylight / yangtools / yang / parser / builder / api / AugmentationSchemaBuilder.java
index 6b1e49e1ed1d954a2d53b13be978c454a416b2b2..c6dcc41f553d5d6248e83c50d6c3eab1e029ec52 100644 (file)
@@ -9,31 +9,42 @@ package org.opendaylight.yangtools.yang.parser.builder.api;
 
 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.
+ *
+ * @deprecated Pre-Beryllium implementation, scheduled for removal.
  */
-public interface AugmentationSchemaBuilder extends DataNodeContainerBuilder {
+@Deprecated
+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 string representation of when condition
+     */
     void addWhenCondition(String whenCondition);
 
-    String getDescription();
-
-    void setDescription(String description);
-
-    String getReference();
-
-    void setReference(String reference);
-
-    Status getStatus();
-
-    void setStatus(Status status);
-
     /**
-     * Get path to target node as single string.
+     * Returns target path representation as was present in schema source.
      *
      * @return path to target node as String
      */
@@ -50,21 +61,7 @@ public interface AugmentationSchemaBuilder extends DataNodeContainerBuilder {
      */
     SchemaPath getTargetPath();
 
-    /**
-     * Get schema path of target node.
-     *
-     * @return SchemaPath of target node
-     */
-    SchemaPath getTargetNodeSchemaPath();
-
-    /**
-     * Set schema path of target node.
-     *
-     * @param path
-     *            SchemaPath of target node
-     */
-    void setTargetNodeSchemaPath(SchemaPath path);
-
+    @Override
     AugmentationSchema build();
 
     /**
@@ -78,10 +75,32 @@ public interface AugmentationSchemaBuilder extends DataNodeContainerBuilder {
     /**
      * Set information about augmentation process.
      *
-     * @param resolved
+     * @param resolved information about augmentation process
      */
     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();
 
+    /**
+     *  Set true if target of augment is unsupported (e.g. node in body of extension).
+     *  In such case, augmentation is skipped and AugmentationSchema is not built.
+     *
+     *  @param unsupportedTarget information about target of augment statement
+     */
+    void setUnsupportedTarget(boolean unsupportedTarget);
+
+    /**
+     *  Return true if target of augment is unsupported (e.g. node in body of extension).
+     *  In such case, augmentation is skipped and AugmentationSchema is not built.
+     *
+     *  @return information about target of augment statement
+     */
+    boolean isUnsupportedTarget();
 }