@Override public <A extends Action<R>, R extends Result> void undo(A action, R result) throws ActionException, ServiceException { dispatch.doExecute(action, this); actionResults.add(new ActionResult<A, R>(action, result, false)); }
@Override public <A extends Action<R>, R extends Result> R execute(A action) throws ActionException, ServiceException { R result = dispatch.doExecute(action, this); actionResults.add(new ActionResult<>(action, result, true)); return result; }
@Override public <A extends Action<R>, R extends Result> void undo(A action, R result) throws ActionException, ServiceException { dispatch.doExecute(action, this); actionResults.add(new ActionResult<>(action, result, false)); }
@Override public <A extends Action<R>, R extends Result> R execute(A action) throws ActionException, ServiceException { R result = dispatch.doExecute(action, this); actionResults.add(new ActionResult<A, R>(action, result, true)); return result; }