Module org.refcodes.command
Package org.refcodes.command
Class AbstractUndoable<CTX,RET,E extends Exception>
- java.lang.Object
-
- org.refcodes.command.AbstractCommand<CTX,RET,E>
-
- org.refcodes.command.AbstractUndoable<CTX,RET,E>
-
- Type Parameters:
CTX- The context type to use, can by anyComponent, service or POJO.RET- The return type of theUndoable's proceedings.E- the element type
public abstract class AbstractUndoable<CTX,RET,E extends Exception> extends AbstractCommand<CTX,RET,E> implements Undoable<CTX,RET,E>
TheAbstractUndoableimplements theUndoableinterface.
-
-
Constructor Summary
Constructors Constructor Description AbstractUndoable()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanisUndoable(CTX aContext)This method determines whether theUndoablecan undo the work it has done.voidundo(CTX aContext)This method tries to undo theUndoablein case it was successfully executed.
-
-
-
Method Detail
-
isUndoable
public boolean isUndoable(CTX aContext)
This method determines whether theUndoablecan undo the work it has done.
-
undo
public void undo(CTX aContext) throws NotUndoableRuntimeException, UnsupportedOperationException
This method tries to undo theUndoablein case it was successfully executed. Test viaUndoable.isUndoable(Object)beforehand to see whether a call toUndoable.undo(Object)can be applied.- Specified by:
undoin interfaceUndoable<CTX,RET,E extends Exception>- Parameters:
aContext- The target object which is used by theUndoableto do itsUndoable.- Throws:
NotUndoableRuntimeException- Thrown in case the performed operation cannot be undone, or no operation as been done before by thisUndoable.UnsupportedOperationException- Thrown in case theUndoabledoes not provide undo facilities.
-
-