Class POJOWorkflowImplMetadata
java.lang.Object
io.temporal.common.metadata.POJOWorkflowImplMetadata
Rules:
- A workflow implementation must implement at least one non empty interface annotated with WorkflowInterface
- An interface annotated with WorkflowInterface can extend zero or more interfaces.
- An interface annotated with WorkflowInterface defines workflow methods for all methods it inherited from interfaces which are not annotated with WorkflowInterface.
- Each method name can be defined only once across all interfaces annotated with WorkflowInterface. So if annotated interface A has method foo() and an annotated interface B extends A it cannot also declare foo() even with a different signature.
-
Method Summary
Modifier and TypeMethodDescriptionList of query methods an object implements across all the workflow interfaces.List of signal methods an object implements across all the workflow interfaces.List of update methods an object implements across all the workflow interfaces.List of update validator methods an object implements across all the workflow interfaces.static VersioningBehaviorgetVersioningBehaviorForMethod(Class<?> implementationClass, POJOWorkflowMethodMetadata workflowMethod) Constructor<?> List of workflow interfaces an object implements.List of workflow methods an object implements across all the workflow interfaces.static POJOWorkflowImplMetadatanewInstance(Class<?> implClass) Create POJOWorkflowImplMetadata for a workflow implementation class.static POJOWorkflowImplMetadatanewInstanceForWorkflowFactory(Class<?> implClass) Create POJOWorkflowImplMetadata for a workflow implementation class.static POJOWorkflowImplMetadatanewListenerInstance(Class<?> implClass) Create POJOWorkflowImplMetadata for a workflow implementation class.
-
Method Details
-
newInstance
Create POJOWorkflowImplMetadata for a workflow implementation class. The object must implement at least one workflow method. Validates the implementation can be registered. -
newInstanceForWorkflowFactory
Create POJOWorkflowImplMetadata for a workflow implementation class. The object must implement at least one workflow method. Does not validate the implementation can be registered. -
newListenerInstance
Create POJOWorkflowImplMetadata for a workflow implementation class. The class may not implement any workflow method. This is to be used for classes that implement only query and signal methods. -
getWorkflowInterfaces
List of workflow interfaces an object implements. -
getWorkflowMethods
List of workflow methods an object implements across all the workflow interfaces. -
getSignalMethods
List of signal methods an object implements across all the workflow interfaces. -
getQueryMethods
List of query methods an object implements across all the workflow interfaces. -
getUpdateMethods
List of update methods an object implements across all the workflow interfaces. -
getUpdateValidatorMethods
List of update validator methods an object implements across all the workflow interfaces. -
getWorkflowInit
-
getVersioningBehaviorForMethod
@Nullable public static VersioningBehavior getVersioningBehaviorForMethod(Class<?> implementationClass, POJOWorkflowMethodMetadata workflowMethod) - Returns:
- The
VersioningBehaviorfor the workflow method on the implementation class. If the method is annotated withWorkflowVersioningBehavior. - Throws:
RuntimeException- if the method is not found on the implementation class or is not a workflow method.
-