package org.corfudb.runtime.object;
/** A functional interface which represents an undo function.
* @param <R> The type of the SMR object.
* Created by mwei on 11/13/16.
*/
public interface IUndoFunction<R> {
/** Undo the mutation on the object.
*
* @param objectToUndo The object to undo the mutation on.
* @param undoObject The undo record which was generated for this object.
* @param args The arguments to the mutation to undo.
*/
void doUndo(R objectToUndo, Object undoObject, Object[] args);
}