BUG-2383: deprecate ModificationType.MERGE
[yangtools.git] / yang / yang-data-impl / src / main / java / org / opendaylight / yangtools / yang / data / impl / schema / tree / NodeModification.java
index ad8dbd1ea2cbfa1008e77e41e47f5670c8a0e163..225a931ec0a5eb65286cfe288936696bb28c27d1 100644 (file)
@@ -7,11 +7,10 @@
  */
 package org.opendaylight.yangtools.yang.data.impl.schema.tree;
 
-
 import com.google.common.base.Optional;
+import java.util.Collection;
 import org.opendaylight.yangtools.concepts.Identifiable;
-import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier.PathArgument;
-import org.opendaylight.yangtools.yang.data.api.schema.tree.ModificationType;
+import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument;
 import org.opendaylight.yangtools.yang.data.api.schema.tree.spi.TreeNode;
 
 /**
@@ -19,13 +18,13 @@ import org.opendaylight.yangtools.yang.data.api.schema.tree.spi.TreeNode;
  * It is used by the validation code to allow for a read-only view of the
  * modification tree as we should never modify that during validation.
  */
-interface NodeModification extends Identifiable<PathArgument> {
+abstract class NodeModification implements Identifiable<PathArgument> {
     /**
      * Get the type of modification.
      *
-     * @return Modification type.
+     * @return Operation type.
      */
-    ModificationType getType();
+    abstract LogicalOperation getOperation();
 
     /**
      * Get the original tree node to which the modification is to be applied.
@@ -33,12 +32,12 @@ interface NodeModification extends Identifiable<PathArgument> {
      * @return The original node, or {@link Optional#absent()} if the node is
      *         a new node.
      */
-    Optional<TreeNode> getOriginal();
+    abstract Optional<TreeNode> getOriginal();
 
     /**
      * Get a read-only view of children nodes.
      *
-     * @return Iterable of all children nodes.
+     * @return Collection of all children nodes.
      */
-    Iterable<? extends NodeModification> getChildren();
+    abstract Collection<? extends NodeModification> getChildren();
 }