AbstractCommandFunction
Abstract base class for command functions that handle command processing with after-command functions.
This class provides the framework for executing commands and their associated after-command functions, combining their results into a domain event stream.
Parameters
The type of the command aggregate.
Inheritors
Constructors
Creates a new AbstractCommandFunction with the specified command aggregate and after functions.
Properties
The command aggregate instance this function belongs to.
The name of the processor class, derived from the simple name of the processor's class.
The fully qualified name of the function, formatted as "processorName.functionName(supportedTypeSimpleName)". This provides a unique identifier for the function.
The set of named aggregates (topics) that this function supports. The function will only process messages that match one of these aggregates.
The class type of message bodies that this function can process. Used to determine if a message is supported by checking if the message body is an instance of this type.
Functions
Retrieves an annotation of the specified type from the function's metadata.
Gets the context alias prefix for this bounded context.
Handles the message exchange by invoking the function. This method provides an alternative way to process the exchange.
Invokes the command function and returns a domain event stream.
Invokes the main command logic.
Checks if a function matches the criteria specified by this NamedFunctionInfo. Used to determine if a wait strategy should be notified about a specific function execution. Returns true if all specified criteria (context, processor, name) match or are not specified.
Checks if the given message is supported by this function. A message is supported if its body is an instance of the supported type and its aggregate matches one of the supported topics.