package org.corfudb.runtime.object; /** A functional interface which represents a function which generates an * undo record. * @param <R> The type of the SMR object. * Created by mwei on 11/13/16. */ @FunctionalInterface public interface IUndoRecordFunction<R> { /** Generate an undo record. * * @param previousVersion The version of the object before the mutation. * @param args The arguments to the mutation. * @return An undo record. */ Object getUndoRecord(R previousVersion, Object[] args); }