Fix SchemaContextUtil RevisionAwareXPath resolution
[yangtools.git] / yang / yang-model-api / src / main / java / org / opendaylight / yangtools / yang / model / api / DataSchemaNode.java
index 6b3f4703bad31618a11eaad5573774adee47cc9b..ab6650eb5a3521a6b33af357ddb561d215363a3d 100644 (file)
@@ -8,44 +8,31 @@
 package org.opendaylight.yangtools.yang.model.api;
 
 /**
+ * Data Schema Node represents abstract supertype from which all data tree definitions are derived. Unlike what
+ * the name would suggest, this interface corresponds more to RFC7950 {@code data definition statement} than to
+ * {@code data node}, yet it notably does not include {@link UsesNode} and {@link AugmentationSchemaNode}, which are
+ * resolved separately.
  *
- * Contains the method which are used for getting metadata from the schema nodes
- * which contains data.
+ * <p>
+ * Common interface is composed of {@link #isConfiguration()}, governing validity in config/operation data stores
+ * and {@link WhenConditionAware} mixin, which governs validity based on other document data.
  *
+ * @see ContainerSchemaNode
+ * @see ListSchemaNode
+ * @see LeafListSchemaNode
+ * @see ChoiceSchemaNode
+ * @see CaseSchemaNode
+ * @see LeafSchemaNode
+ * @see AnyXmlSchemaNode
+ * @see AnyDataSchemaNode
  */
-public interface DataSchemaNode extends SchemaNode {
-
-    /**
-     * Returns <code>true</code> if the data node was added by augmentation,
-     * otherwise returns <code>false</code>
-     *
-     * @return <code>true</code> if the data node was added by augmentation,
-     *         otherwise returns <code>false</code>
-     */
-    boolean isAugmenting();
-
-    /**
-     * Returns <code>true</code> if the data node was added by uses statement,
-     * otherwise returns <code>false</code>
-     *
-     * @return <code>true</code> if the data node was added by uses statement,
-     *         otherwise returns <code>false</code>
-     */
-    boolean isAddedByUses();
-
+public interface DataSchemaNode extends SchemaNode, CopyableNode, WhenConditionAware {
     /**
      * Returns <code>true</code> if the data represents configuration data,
-     * otherwise returns <code>false</code>
+     * otherwise returns <code>false</code>.
      *
      * @return <code>true</code> if the data represents configuration data,
      *         otherwise returns <code>false</code>
      */
     boolean isConfiguration();
-
-    /**
-     * Returns the constraints associated with Data Schema Node
-     *
-     * @return the constraints associated with Data Schema Node
-     */
-    ConstraintDefinition getConstraints();
 }