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 Object
An OperationCallable is an immutable object which is capable of initiating RPC calls to long-running API methods and returning anOperationFuture
to 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 protected
OperationCallable()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description ResponseT
call(RequestT request)
Same ascall(Object, ApiCallContext)
, with a null context.ResponseT
call(RequestT request, ApiCallContext context)
Perform a call synchronously.com.google.api.core.ApiFuture<Void>
cancel(String operationName)
Sends a cancellation request to the server for the operation with nameoperationName
.abstract com.google.api.core.ApiFuture<Void>
cancel(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(String operationName)
Creates a newOperationFuture
to watch an operation that has been initiated previously.abstract OperationFuture<ResponseT,MetadataT>
resumeFutureCall(String operationName, ApiCallContext context)
Creates a newOperationFuture
to watch an operation that has been initiated previously.OperationCallable<RequestT,ResponseT,MetadataT>
withDefaultCallContext(ApiCallContext defaultCallContext)
Returns a newOperationCallable
with anApiCallContext
that 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
-ApiCallContext
to make the call with- Returns:
OperationFuture
for the call result
-
futureCall
public OperationFuture<ResponseT,MetadataT> futureCall(RequestT request)
Same asfutureCall(Object, ApiCallContext)
, with a null context.- Parameters:
request
- request- Returns:
ApiFuture
for the call result
-
call
public ResponseT call(RequestT request, ApiCallContext context)
Perform a call synchronously.- Parameters:
request
- The request to initiate the operation.context
-ApiCallContext
to make the call with- Returns:
- the call result
- Throws:
ApiException
- if there is any bad status in the response.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.RuntimeException
- if there is any other exception unrelated to bad status.
-
resumeFutureCall
public abstract OperationFuture<ResponseT,MetadataT> resumeFutureCall(String operationName, ApiCallContext context)
Creates a newOperationFuture
to 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
-ApiCallContext
to make the call with- Returns:
OperationFuture
for the call result.
-
resumeFutureCall
public OperationFuture<ResponseT,MetadataT> resumeFutureCall(String operationName)
Creates a newOperationFuture
to 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:
OperationFuture
for the call result.
-
cancel
public abstract com.google.api.core.ApiFuture<Void> cancel(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
-ApiCallContext
to 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<Void> cancel(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 newOperationCallable
with anApiCallContext
that is used as a default when none is supplied in individual calls.- Parameters:
defaultCallContext
- the defaultApiCallContext
.
-
-