Interface Command<CTX,RET,E extends java.lang.Exception>

  • Type Parameters:
    CTX - The context type to use, can by any Component, service or POJO.
    RET - The return type of the Command's proceedings.
    E - The exception type of the Command'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>
    A Command (Command) represents an (atomic) operation applied to a context returning a result encapsulated in an object (as of object oriented programming). An Undoable is a command which provides means to undo its operation applied before. The Command is created by a client (e.g. the business logic) and passed to something like a command-bus or command-processor for execution.
    • Method Detail

      • execute

        RET execute​(CTX aContext)
             throws E extends java.lang.Exception
        The invoker executes a Command by providing it a context (being a service, a Component or 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, a Component or a POJO) which is used by the Command to perform its (atomic) operation.
        Returns:
        The result of this Command after execution or Void in case this Command does not process a result.
        Throws:
        E - the e
        E extends java.lang.Exception