Improve TreeNode and Version documentation
[yangtools.git] / data / yang-data-tree-ri / src / main / java / org / opendaylight / yangtools / yang / data / tree / impl / node / Version.java
index 4abfd75bceda113eb887b83dad2960a028e42630..cd5257781bc67d0069a509311d313370b76c7190 100644 (file)
@@ -7,14 +7,23 @@
  */
 package org.opendaylight.yangtools.yang.data.tree.impl.node;
 
+import org.opendaylight.yangtools.concepts.Immutable;
+
 /**
- * The concept of a version, either node version, or a subtree version. The
- * only interface contract this class has is that no two versions are the
- * same.
+ * The concept of a version, either node version, or a subtree version. The only interface contract this class has is
+ * that no two {@link Version} are the same.
+ *
+ * <p>
+ * This class relies on Java Virtual machine's guarantee that the identity of an Object is distinct from any other
+ * Object in the Java heap.
+ *
+ * <p>
+ * From data management perspective, this concept serves as JVM-level MVCC
+ * <a href="https://en.wikipedia.org/wiki/Multiversion_concurrency_control#Implementation">timestamp (TS)</a>.
  */
-public final class Version {
+public final class Version implements Immutable {
     private Version() {
-
+        // Hidden on purpose
     }
 
     /**