Package org.refcodes.command
Interface Command<CTX,RET,E extends java.lang.Exception>
-
- Type Parameters:
CTX- The context type to use, can by anyComponent, service or POJO.RET- The return type of theCommand's proceedings.E- The exception type of theCommand's erroneous termination.
- All Known Subinterfaces:
Undoable<CTX,RET,E>
- All Known Implementing Classes:
AbstractCommand,AbstractUndoable
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
@FunctionalInterface public interface Command<CTX,RET,E extends java.lang.Exception>ACommand(Command) represents an (atomic) operation applied to a context returning a result encapsulated in an object (as of object oriented programming). AnUndoableis a command which provides means to undo its operation applied before. TheCommandis created by a client (e.g. the business logic) and passed to something like a command-bus or command-processor for execution.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description RETexecute(CTX aContext)The invoker executes aCommandby providing it a context (being a service, aComponentor a POJO).
-
-
-
Method Detail
-
execute
RET execute(CTX aContext) throws E extends java.lang.Exception
The invoker executes aCommandby providing it a context (being a service, aComponentor a POJO). The method works synchronously and waits (blocks the caller's thread) till a result is available.- Parameters:
aContext- The target object (being a service, aComponentor a POJO) which is used by theCommandto perform its (atomic) operation.- Returns:
- The result of this
Commandafter execution or Void in case thisCommanddoes not process a result. - Throws:
E- the eE extends java.lang.Exception
-
-