Class UnaryCallable<RequestT,ResponseT> (2.16.0)

public abstract class UnaryCallable<RequestT,ResponseT>

A UnaryCallable is an immutable object which is capable of making RPC calls to non- API methods.

In typical usage, the request to send to the remote service will not be bound to the UnaryCallable, but instead is provided at call time, which allows for a UnaryCallable to be saved and used indefinitely.

There are two styles of calls that can be made through a UnaryCallable: synchronous and asynchronous.

Synchronous example:


 RequestType request = RequestType.newBuilder().build();
 UnaryCallable<RequestType, ResponseType> unaryCallable = api.doSomethingCallable();
 ResponseType response = unaryCallable.call();
 

Asynchronous example:


 RequestType request = RequestType.newBuilder().build();
 UnaryCallable<RequestType, ResponseType> unaryCallable = api.doSomethingCallable();
 ApiFuture<ResponseType> resultFuture = unaryCallable.futureCall();
 // do other work
 // ...
 ResponseType response = resultFuture.get();
 

It is considered advanced usage for a user to create a UnaryCallable themselves. This class is intended to be created by a generated client class, and configured by instances of UnaryCallSettings.Builder which are exposed through the client settings class.

Inheritance

java.lang.Object > UnaryCallable<RequestT,ResponseT>

Type Parameters

NameDescription
RequestT
ResponseT

Constructors

UnaryCallable()

protected UnaryCallable()

Methods

call(RequestT request)

public ResponseT call(RequestT request)

Same as #call(Object, ApiCallContext), with a null context.

Parameter
NameDescription
requestRequestT

The request to send to the service.

Returns
TypeDescription
ResponseT

the call result

call(RequestT request, ApiCallContext context)

public ResponseT call(RequestT request, ApiCallContext context)

Perform a call synchronously.

Parameters
NameDescription
requestRequestT

The request to send to the service.

contextApiCallContext

ApiCallContext to make the call with

Returns
TypeDescription
ResponseT

the call result

futureCall(RequestT request)

public ApiFuture<ResponseT> futureCall(RequestT request)

Same as #futureCall(Object, ApiCallContext), with a null context.

Parameter
NameDescription
requestRequestT

request

Returns
TypeDescription
com.google.api.core.ApiFuture<ResponseT>

ApiFuture for the call result

futureCall(RequestT request, ApiCallContext context)

public abstract ApiFuture<ResponseT> futureCall(RequestT request, ApiCallContext context)

Perform a call asynchronously.

Parameters
NameDescription
requestRequestT
contextApiCallContext

ApiCallContext to make the call with

Returns
TypeDescription
com.google.api.core.ApiFuture<ResponseT>

ApiFuture for the call result

withDefaultCallContext(ApiCallContext defaultCallContext)

public UnaryCallable<RequestT,ResponseT> withDefaultCallContext(ApiCallContext defaultCallContext)

Returns a new UnaryCallable with an ApiCallContext that is used as a default when none is supplied in individual calls.

Parameter
NameDescription
defaultCallContextApiCallContext

the default ApiCallContext.

Returns
TypeDescription
UnaryCallable<RequestT,ResponseT>