Package com.google.api.gax.rpc
Class OperationCallable<RequestT,ResponseT,MetadataT>
- java.lang.Object
-
- com.google.api.gax.rpc.OperationCallable<RequestT,ResponseT,MetadataT>
-
- Direct Known Subclasses:
TracedOperationCallable
public abstract class OperationCallable<RequestT,ResponseT,MetadataT> extends java.lang.ObjectAn OperationCallable is an immutable object which is capable of initiating RPC calls to long-running API methods and returning anOperationFutureto manage the polling of the Operation and getting the response.It is considered advanced usage for a user to create an OperationCallable themselves. This class is intended to be created by a generated client class, and configured by instances of OperationCallSettings.Builder which are exposed through the client settings class.
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedOperationCallable()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description ResponseTcall(RequestT request)Same ascall(Object, ApiCallContext), with a null context.ResponseTcall(RequestT request, ApiCallContext context)Perform a call synchronously.com.google.api.core.ApiFuture<java.lang.Void>cancel(java.lang.String operationName)Sends a cancellation request to the server for the operation with nameoperationName.abstract com.google.api.core.ApiFuture<java.lang.Void>cancel(java.lang.String operationName, ApiCallContext context)Sends a cancellation request to the server for the operation with nameoperationName.OperationFuture<ResponseT,MetadataT>futureCall(RequestT request)Same asfutureCall(Object, ApiCallContext), with a null context.abstract OperationFuture<ResponseT,MetadataT>futureCall(RequestT request, ApiCallContext context)Initiates an operation asynchronously.OperationFuture<ResponseT,MetadataT>resumeFutureCall(java.lang.String operationName)Creates a newOperationFutureto watch an operation that has been initiated previously.abstract OperationFuture<ResponseT,MetadataT>resumeFutureCall(java.lang.String operationName, ApiCallContext context)Creates a newOperationFutureto watch an operation that has been initiated previously.OperationCallable<RequestT,ResponseT,MetadataT>withDefaultCallContext(ApiCallContext defaultCallContext)Returns a newOperationCallablewith anApiCallContextthat is used as a default when none is supplied in individual calls.
-
-
-
Method Detail
-
futureCall
public abstract OperationFuture<ResponseT,MetadataT> futureCall(RequestT request, ApiCallContext context)
Initiates an operation asynchronously.- Parameters:
request- The request to initiate the operation.context-ApiCallContextto make the call with- Returns:
OperationFuturefor the call result
-
futureCall
public OperationFuture<ResponseT,MetadataT> futureCall(RequestT request)
Same asfutureCall(Object, ApiCallContext), with a null context.- Parameters:
request- request- Returns:
ApiFuturefor the call result
-
call
public ResponseT call(RequestT request, ApiCallContext context)
Perform a call synchronously.- Parameters:
request- The request to initiate the operation.context-ApiCallContextto make the call with- Returns:
- the call result
- Throws:
ApiException- if there is any bad status in the response.java.lang.RuntimeException- if there is any other exception unrelated to bad status.
-
call
public ResponseT call(RequestT request)
Same ascall(Object, ApiCallContext), with a null context.- Parameters:
request- The request to initiate the operation.- Returns:
- the call result
- Throws:
ApiException- if there is any bad status in the response.java.lang.RuntimeException- if there is any other exception unrelated to bad status.
-
resumeFutureCall
public abstract OperationFuture<ResponseT,MetadataT> resumeFutureCall(java.lang.String operationName, ApiCallContext context)
Creates a newOperationFutureto watch an operation that has been initiated previously. Note: This is not type-safe at static time; the result type can only be checked once the operation finishes.- Parameters:
operationName- The name of the operation to resume.context-ApiCallContextto make the call with- Returns:
OperationFuturefor the call result.
-
resumeFutureCall
public OperationFuture<ResponseT,MetadataT> resumeFutureCall(java.lang.String operationName)
Creates a newOperationFutureto watch an operation that has been initiated previously. Note: This is not type-safe at static time; the result type can only be checked once the operation finishes.- Parameters:
operationName- The name of the operation to resume.- Returns:
OperationFuturefor the call result.
-
cancel
public abstract com.google.api.core.ApiFuture<java.lang.Void> cancel(java.lang.String operationName, ApiCallContext context)Sends a cancellation request to the server for the operation with nameoperationName.- Parameters:
operationName- The name of the operation to cancel.context-ApiCallContextto make the call with- Returns:
- the future which completes once the operation is canceled on the server side.
-
cancel
public com.google.api.core.ApiFuture<java.lang.Void> cancel(java.lang.String operationName)
Sends a cancellation request to the server for the operation with nameoperationName.- Parameters:
operationName- The name of the operation to cancel.- Returns:
- the future which completes once the operation is canceled on the server side.
-
withDefaultCallContext
public OperationCallable<RequestT,ResponseT,MetadataT> withDefaultCallContext(ApiCallContext defaultCallContext)
Returns a newOperationCallablewith anApiCallContextthat is used as a default when none is supplied in individual calls.- Parameters:
defaultCallContext- the defaultApiCallContext.
-
-