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 an OperationFuture 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 Details

    • OperationCallable

      protected OperationCallable()
  • Method Details

    • 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 as futureCall(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 as call(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 new OperationFuture 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 new OperationFuture 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 ApiFuture<Void> cancel(String operationName, ApiCallContext context)
      Sends a cancellation request to the server for the operation with name operationName.
      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 ApiFuture<Void> cancel(String operationName)
      Sends a cancellation request to the server for the operation with name operationName.
      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 new OperationCallable with an ApiCallContext that is used as a default when none is supplied in individual calls.
      Parameters:
      defaultCallContext - the default ApiCallContext.