Add TreeType documentation 06/71006/4
authorRobert Varga <robert.varga@pantheon.tech>
Tue, 17 Apr 2018 01:27:14 +0000 (03:27 +0200)
committerRobert Varga <nite@hq.sk>
Tue, 17 Apr 2018 08:07:54 +0000 (08:07 +0000)
Clarify TreeType's relationship with RFC6020, RFC7950 and RFC8342,
add 2.1.0/3.0.0 design considerations.

Change-Id: Ie74eba7244270015be87fdaf5e48d6d265f6e099
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/TreeType.java

index 91a9f640a28947b2071d4d0e91c9e0a0f192e3bd..f00e24bb3094383f398bd86b83f18fb8051b37ab 100644 (file)
@@ -9,8 +9,28 @@ package org.opendaylight.yangtools.yang.data.api.schema.tree;
 
 import com.google.common.annotations.Beta;
 
+/**
+ * {@link DataTree} type, specifying which YANG modeled content is valid with a data tree. This reflects
+ * <a href="https://tools.ietf.org/html/rfc6020#section-7.21.1">RFC6020</a>/
+ * <a href="https://tools.ietf.org/html/rfc6020#section-7.19.1">RFC7950</a> data combinations based on {@code config}
+ * statement.
+ */
+// FIXME: 2.1.0: 3.0.0: Consider defining a 'config false'-only type
+// FIXME: 3.0.0: Consider renaming this enum
 @Beta
 public enum TreeType {
+    /**
+     * Only {@code config true} nodes are allowed. This corresponds, but is not limited, to @{code candidate},
+     * {@code startup} and {@code running} data stores defined in
+     * <a href="https://tools.ietf.org/html/rfc8342#section-4.1">RFC8342 section 4.1</a> as well as {@code intended}
+     * data store defined in <a href="https://tools.ietf.org/html/rfc8342#section-5">RFC8342 section 4.1</a>.
+     */
     CONFIGURATION,
+    /**
+     * Only {@code config true} and {@code config false} nodes are allowed. This corresponds, but is not limited, to
+     * {@code operational state} defined in
+     * <a href="https://tools.ietf.org/html/rfc8342#section-4.1">RFC8342 section 4.1</a> as well as {@code operational}
+     * data store defined in <a href="https://tools.ietf.org/html/rfc8342#section-5">RFC8342 section 4.1</a>.
+     */
     OPERATIONAL,
 }