Package io.temporal.internal.sync
Class NexusServiceStubImpl
- java.lang.Object
-
- io.temporal.internal.sync.NexusServiceStubImpl
-
- All Implemented Interfaces:
NexusServiceStub
public class NexusServiceStubImpl extends java.lang.Object implements NexusServiceStub
-
-
Constructor Summary
Constructors Constructor Description NexusServiceStubImpl(java.lang.String name, NexusServiceOptions options, WorkflowOutboundCallsInterceptor outboundCallsInterceptor, Functions.Proc1<java.lang.String> assertReadOnly)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <R> Rexecute(java.lang.String operationName, java.lang.Class<R> resultClass, java.lang.Object arg)Executes an operation by its type name and arguments.<R> Rexecute(java.lang.String operationName, java.lang.Class<R> resultClass, java.lang.reflect.Type resultType, java.lang.Object arg)Executes an operation by its type name and arguments.<R> Promise<R>executeAsync(java.lang.String operationName, java.lang.Class<R> resultClass, java.lang.Object arg)Executes an operation asynchronously by its type name and arguments.<R> Promise<R>executeAsync(java.lang.String operationName, java.lang.Class<R> resultClass, java.lang.reflect.Type resultType, java.lang.Object arg)Executes an operation asynchronously by its type name and arguments.<R> NexusOperationHandle<R>start(java.lang.String operationName, java.lang.Class<R> resultClass, java.lang.Object arg)Request to start an operation by its type name and arguments<R> NexusOperationHandle<R>start(java.lang.String operationName, java.lang.Class<R> resultClass, java.lang.reflect.Type resultType, java.lang.Object arg)Request to start an operation by its type name and arguments
-
-
-
Constructor Detail
-
NexusServiceStubImpl
public NexusServiceStubImpl(java.lang.String name, NexusServiceOptions options, WorkflowOutboundCallsInterceptor outboundCallsInterceptor, Functions.Proc1<java.lang.String> assertReadOnly)
-
-
Method Detail
-
execute
public <R> R execute(java.lang.String operationName, java.lang.Class<R> resultClass, java.lang.Object arg)Description copied from interface:NexusServiceStubExecutes an operation by its type name and arguments. Blocks until the operation completion.- Specified by:
executein interfaceNexusServiceStub- Type Parameters:
R- return type.- Parameters:
operationName- name of the operation type to execute.resultClass- the expected return type of the operation.arg- argument of the operation.- Returns:
- an operation result.
-
execute
public <R> R execute(java.lang.String operationName, java.lang.Class<R> resultClass, java.lang.reflect.Type resultType, java.lang.Object arg)Description copied from interface:NexusServiceStubExecutes an operation by its type name and arguments. Blocks until the operation completion.- Specified by:
executein interfaceNexusServiceStub- Type Parameters:
R- return type.- Parameters:
operationName- name of the operation type to execute.resultClass- the expected return type of the operation.resultType- the expected return type of the nexus operation. Differs from resultClass for generic types.arg- argument of the operation.- Returns:
- an operation result.
-
executeAsync
public <R> Promise<R> executeAsync(java.lang.String operationName, java.lang.Class<R> resultClass, java.lang.Object arg)
Description copied from interface:NexusServiceStubExecutes an operation asynchronously by its type name and arguments.- Specified by:
executeAsyncin interfaceNexusServiceStub- Type Parameters:
R- return type.- Parameters:
operationName- name of an operation type to execute.resultClass- the expected return type of the operation. Use Void.class for operations that return void type.arg- argument of the operation.- Returns:
- Promise to the operation result.
-
executeAsync
public <R> Promise<R> executeAsync(java.lang.String operationName, java.lang.Class<R> resultClass, java.lang.reflect.Type resultType, java.lang.Object arg)
Description copied from interface:NexusServiceStubExecutes an operation asynchronously by its type name and arguments.- Specified by:
executeAsyncin interfaceNexusServiceStub- Type Parameters:
R- return type.- Parameters:
operationName- name of an operation type to execute.resultClass- the expected return type of the operation. Use Void.class for operations that return void type.resultType- the expected return type of the nexus operation. Differs from resultClass for generic types.arg- argument of the operation.- Returns:
- Promise to the operation result.
-
start
public <R> NexusOperationHandle<R> start(java.lang.String operationName, java.lang.Class<R> resultClass, java.lang.Object arg)
Description copied from interface:NexusServiceStubRequest to start an operation by its type name and arguments- Specified by:
startin interfaceNexusServiceStub- Type Parameters:
R- return type.- Parameters:
operationName- name of an operation type to execute.resultClass- the expected return type of the operation. Use Void.class for operations that return void type.arg- argument of the operation.- Returns:
- A handle that can be used to wait for the operation to start or wait for it to finish
-
start
public <R> NexusOperationHandle<R> start(java.lang.String operationName, java.lang.Class<R> resultClass, java.lang.reflect.Type resultType, java.lang.Object arg)
Description copied from interface:NexusServiceStubRequest to start an operation by its type name and arguments- Specified by:
startin interfaceNexusServiceStub- Type Parameters:
R- return type.- Parameters:
operationName- name of an operation type to execute.resultClass- the expected return type of the operation. Use Void.class for operations that return void type.resultType- the expected return type of the nexus operation. Differs from resultClass for generic types.arg- argument of the operation.- Returns:
- A handle that can be used to wait for the operation to start or wait for it to finish
-
-