Class AnnotatedWorkflowHandlerDefinition
java.lang.Object
io.axoniq.framework.workflow.configuration.AnnotatedWorkflowHandlerDefinition
- All Implemented Interfaces:
HandlerDefinition
@Internal
public class AnnotatedWorkflowHandlerDefinition
extends Object
implements HandlerDefinition
HandlerDefinition recognizing Workflow-annotated methods, building a
MethodInvokingMessageHandlingMember for each.
A @Workflow body is assigned WorkflowTriggerMessage as its message type and WorkflowContext
as its expected payload type, since the synthesized command that invokes it always carries the workflow context as
its payload.
- Since:
- 5.4.0
- Author:
- Steven van Beelen
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription<T> Optional<MessageHandlingMember<T>> createHandler(Class<T> declaringType, Method method, ParameterResolverFactory parameterResolverFactory, Function<Object, MessageStream<?>> messageStreamResolver) Create aMessageHandlingMemberfor the givenmethodmethod.
-
Constructor Details
-
AnnotatedWorkflowHandlerDefinition
public AnnotatedWorkflowHandlerDefinition()
-
-
Method Details
-
createHandler
public <T> Optional<MessageHandlingMember<T>> createHandler(Class<T> declaringType, Method method, ParameterResolverFactory parameterResolverFactory, Function<Object, MessageStream<?>> messageStreamResolver) Description copied from interface:HandlerDefinitionCreate aMessageHandlingMemberfor the givenmethodmethod. Use the givenparameterResolverFactoryto resolve the method's parameters.- Specified by:
createHandlerin interfaceHandlerDefinition- Type Parameters:
T- The type of the declaring object- Parameters:
declaringType- The type of object declaring the given methodmethod- The method to inspectparameterResolverFactory- Factory for aParameterResolverof the methodmessageStreamResolver- The lambda resolving aMessageStreamout of the result fromMessageHandlingMember.handle(Message, ProcessingContext, Object).- Returns:
- An optional containing the handler if the method is suitable, or an empty Nullable otherwise.
-