*/
package org.opendaylight.yangtools.yang.data.api.schema.tree;
-import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier;
+import javax.annotation.Nonnull;
+import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
/**
*
* @param path Node path
*/
- void delete(InstanceIdentifier path);
+ void delete(YangInstanceIdentifier path);
/**
* Merge the specified data with the currently-present data
* @param path Node path
* @param data Data to be merged
*/
- void merge(InstanceIdentifier path, NormalizedNode<?, ?> data);
+ void merge(YangInstanceIdentifier path, NormalizedNode<?, ?> data);
/**
* Replace the data at specified path with supplied data.
* @param path Node path
* @param data New node data
*/
- void write(InstanceIdentifier path, NormalizedNode<?, ?> data);
+ void write(YangInstanceIdentifier path, NormalizedNode<?, ?> data);
/**
* Finish creation of a modification, making it ready for application
- * to the data tree. Any calls to this object's methods will result
+ * to the data tree. Any calls to this object's methods except
+ * {@link #applyToCursor(DataTreeModificationCursor)} will result
* in undefined behavior, possibly with an
* {@link IllegalStateException} being thrown.
*/
void ready();
+
+ /**
+ * Apply the contents of this modification to a cursor. This can be used
+ * to replicate this modification onto another one. The cursor's position
+ * must match the root of this modification, otherwise performing this
+ * operation will result in undefined behavior.
+ *
+ * @param cursor cursor to which this modification
+ */
+ void applyToCursor(@Nonnull DataTreeModificationCursor cursor);
}