Add clarification around NormalizedNode being identifiable
[yangtools.git] / yang / yang-data-api / src / main / java / org / opendaylight / yangtools / yang / data / api / schema / NormalizedNode.java
index e7ae0eeebc7605ae7272d0b1f00c8c3a50812e31..f00cf1184d00d43eb0a898f97d3b90af21aabaf9 100644 (file)
@@ -23,7 +23,7 @@ import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgum
  * @param <V> Value of node
  */
 /*
- * FIXME: 6.0.0: NormalizedNode represents the perfectly-compliant view of the data, as evaluated by an implementation,
+ * FIXME: 7.0.0: NormalizedNode represents the perfectly-compliant view of the data, as evaluated by an implementation,
  *               which is currently singular, with respect of its interpretation of a SchemaContext. This includes
  *               leaf values, which are required to hold normalized representation for a particular implementation,
  *               which may be affected by its understanding of any YANG extensions present -- such as optional type
@@ -38,15 +38,18 @@ import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgum
  *               to check/fixup if it wishes to use it as a NormalizedNode. Such a concept should be called
  *               "UnverifiedData".
  *
- * FIXME: 6.0.0: Once we have UnverifiedData, we should really rename this to "NormalizedData" or similar to unload
+ * FIXME: 7.0.0: Once we have UnverifiedData, we should really rename this to "NormalizedData" or similar to unload
  *               some "Node" ambiguity. "Node" should be a generic term reserved for a particular domain -- hence 'node'
  *               can be used to refer to either a 'schema node' in context of yang.model.api, or to
  *               a 'normalized data node' in context of yang.data.api.
  *
- * FIXME: 6.0.0: Well, not quite. The structure of unverified data is really codec specific -- and JSON and XML
+ * FIXME: 7.0.0: Well, not quite. The structure of unverified data is really codec specific -- and JSON and XML
  *               do not agree on details. Furthermore things get way more complicated when we have a cross-schema
  *               boundary -- like RFC8528. Hence we cannot really have a reasonably-structured concept of unverified
  *               data. Nevertheless, this interface should be named 'NormalizedData'.
+ *
+ * FIXME: YANGTOOLS-1074: eliminate Identifiable<K> and K type argument
+ * FIXME: YANGTOOLS-1074: eliminate V type argument
  */
 public interface NormalizedNode<K extends PathArgument, V> extends Identifiable<K> {
     /**
@@ -54,6 +57,7 @@ public interface NormalizedNode<K extends PathArgument, V> extends Identifiable<
      *
      * @return QName of this node, non-null.
      */
+    // FIXME: YANGTOOLS-1074: eliminate this method
     QName getNodeType();
 
     /**
@@ -69,5 +73,6 @@ public interface NormalizedNode<K extends PathArgument, V> extends Identifiable<
      *
      * @return Value of the node, may be null.
      */
+    // FIXME: YANGTOOLS-1074: eliminate this method
     @NonNull V getValue();
 }