Interface CommandHandler<I,C extends Command,R>

Type Parameters:
I - the generic type of the instance to be event sourced before handling the command
C - the command type
R - the command execution result type
All Known Subinterfaces:
CommandHandler.ForCommand<I,C,R>, CommandHandler.ForInstanceAndCommand<I,C,R>, CommandHandler.ForInstanceAndCommandAndMetaData<I,C,R>

public sealed interface CommandHandler<I,C extends Command,R> permits CommandHandler.ForCommand<I,C,R>, CommandHandler.ForInstanceAndCommand<I,C,R>, CommandHandler.ForInstanceAndCommandAndMetaData<I,C,R>
Sealed base interface for inherited FunctionalInterface variants encapsulating command-handling logic. Implementations of this will have to encapsulated into CommandHandlerDefinitions to be executable CommandRouter.send(Command) or CommandRouter.send(Command).