Package io.temporal.common.metadata
Class POJOWorkflowInterfaceMetadata
- java.lang.Object
-
- io.temporal.common.metadata.POJOWorkflowInterfaceMetadata
-
public final class POJOWorkflowInterfaceMetadata extends java.lang.Object
Metadata of a workflow interface.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
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Class<?>
getInterfaceClass()
Java interfaceClass
that backs this workflow interface.POJOWorkflowMethodMetadata
getMethodMetadata(java.lang.reflect.Method method)
Return metadata for a method of a workflow interface.java.util.List<POJOWorkflowMethodMetadata>
getMethodsMetadata()
java.util.Optional<POJOWorkflowMethodMetadata>
getWorkflowMethod()
java.util.Optional<java.lang.String>
getWorkflowType()
Workflow type the workflow interface defines.static POJOWorkflowInterfaceMetadata
newInstance(java.lang.Class<?> anInterface)
Returns POJOWorkflowInterfaceMetadata for an interface annotated withWorkflowInterface
.static POJOWorkflowInterfaceMetadata
newInstanceSkipWorkflowAnnotationCheck(java.lang.Class<?> anInterface)
Returns POJOWorkflowInterfaceMetadata for an interface that may be annotated withWorkflowInterface
.
-
-
-
Method Detail
-
newInstance
public static POJOWorkflowInterfaceMetadata newInstance(java.lang.Class<?> anInterface)
Returns POJOWorkflowInterfaceMetadata for an interface annotated withWorkflowInterface
.
-
newInstanceSkipWorkflowAnnotationCheck
public static POJOWorkflowInterfaceMetadata newInstanceSkipWorkflowAnnotationCheck(java.lang.Class<?> anInterface)
Returns POJOWorkflowInterfaceMetadata for an interface that may be annotated withWorkflowInterface
. This to support invoking workflow signal and query methods through a base interface without such annotation.
-
getWorkflowMethod
public java.util.Optional<POJOWorkflowMethodMetadata> getWorkflowMethod()
-
getInterfaceClass
public java.lang.Class<?> getInterfaceClass()
Java interfaceClass
that backs this workflow interface.
-
getWorkflowType
public java.util.Optional<java.lang.String> getWorkflowType()
Workflow type the workflow interface defines. It is empty for interfaces that contain only signal and query methods.
-
getMethodMetadata
public POJOWorkflowMethodMetadata getMethodMetadata(java.lang.reflect.Method method)
Return metadata for a method of a workflow interface.- Throws:
java.lang.IllegalArgumentException
- if method doesn't belong to the workflow interface.
-
getMethodsMetadata
public java.util.List<POJOWorkflowMethodMetadata> getMethodsMetadata()
-
-