Interface Command<CTX,RET,E extends 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 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 Summary

    Modifier and Type
    Method
    Description
    execute(CTX aContext)
    The invoker executes a Command by providing it a context (being a service, a Component or a POJO).
  • Method Details

    • execute

      RET execute(CTX aContext) throws E
      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