Class UnaryCallable<RequestT,ResponseT> (2.55.0)

publicabstractclassUnaryCallable<RequestT,ResponseT>

A UnaryCallable is an immutable object which is capable of making RPC calls to non-streaming 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:

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

Asynchronous example:

RequestTyperequest=RequestType.newBuilder().build();UnaryCallable<RequestType,ResponseType>unaryCallable=api.doSomethingCallable();ApiFuture<ResponseType>resultFuture=unaryCallable.futureCall();// do other work// ...ResponseTyperesponse=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()

protectedUnaryCallable()

Methods

call(RequestT request)

publicResponseTcall(RequestTrequest)

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)

publicResponseTcall(RequestTrequest,ApiCallContextcontext)

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)

publicApiFuture<ResponseT>futureCall(RequestTrequest)

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

Parameter
NameDescription
requestRequestT

request

Returns
TypeDescription
ApiFuture<ResponseT>

ApiFuture for the call result

futureCall(RequestT request, ApiCallContext context)

publicabstractApiFuture<ResponseT>futureCall(RequestTrequest,ApiCallContextcontext)

Perform a call asynchronously.

Parameters
NameDescription
requestRequestT
contextApiCallContext

ApiCallContext to make the call with

Returns
TypeDescription
ApiFuture<ResponseT>

ApiFuture for the call result

withDefaultCallContext(ApiCallContext defaultCallContext)

publicUnaryCallable<RequestT,ResponseT>withDefaultCallContext(ApiCallContextdefaultCallContext)

Returns a newUnaryCallable with anApiCallContext that is used as a default when none is supplied in individual calls.

Parameter
NameDescription
defaultCallContextApiCallContext

the defaultApiCallContext.

Returns
TypeDescription
UnaryCallable<RequestT,ResponseT>

Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2025-12-17 UTC.