public abstract class ServiceOptions<ServiceT,OptionsT> implements Serializable
Abstract class representing service options.
Type Parameters
Name
Description
ServiceT
OptionsT
Static Fields
CREDENTIAL_ENV_NAME
public static final String CREDENTIAL_ENV_NAME
Field Value
Type
Description
String
Static Methods
<T>getFromServiceLoader(Class<? extends T> clazz, T defaultInstance)
public static T <T>getFromServiceLoader(Class<? extends T> clazz, T defaultInstance)
Parameters
Name
Description
clazz
Class <? extends T >
defaultInstance
T
Returns
Type
Description
T
<T>newInstance(String className)
public static T <T>newInstance(String className)
Parameter
Name
Description
className
String
Returns
Type
Description
T
getAppEngineAppId()
public static String getAppEngineAppId()
Returns
Type
Description
String
getAppEngineProjectId()
protected static String getAppEngineProjectId()
Returns
Type
Description
String
getAppEngineProjectIdFromAppId()
protected static String getAppEngineProjectIdFromAppId()
Returns
Type
Description
String
getDefaultProjectId()
public static String getDefaultProjectId()
Returns the default project ID, or null
if no default project ID could be found. This
method returns the first available project ID among the following sources:
The project ID specified by the GOOGLE_CLOUD_PROJECT environment variable
The App Engine project ID
The project ID specified in the JSON credentials file pointed by the
GOOGLE_APPLICATION_CREDENTIALS
environment variable
The Google Cloud SDK project ID
The Compute Engine project ID
Returns
Type
Description
String
getDefaultRetrySettings()
public static RetrySettings getDefaultRetrySettings()
getGoogApiClientLibName()
public static String getGoogApiClientLibName()
Returns the library's name used by x-goog-api-client header as a string.
Returns
Type
Description
String
getGoogleCloudProjectId()
protected static String getGoogleCloudProjectId()
Returns
Type
Description
String
getLibraryName()
public static String getLibraryName()
Returns the library's name, gcloud-java
, as a string.
Returns
Type
Description
String
getNoRetrySettings()
public static RetrySettings getNoRetrySettings()
getServiceAccountProjectId()
protected static String getServiceAccountProjectId()
Returns
Type
Description
String
Constructors
ServiceOptions(Class<? extends ServiceFactory<ServiceT,OptionsT>> serviceFactoryClass, Class<? extends ServiceRpcFactory<OptionsT>> rpcFactoryClass, ServiceOptions.Builder<ServiceT,OptionsT,?> builder, ServiceDefaults<ServiceT,OptionsT> serviceDefaults)
protected ServiceOptions(Class<? extends ServiceFactory<ServiceT,OptionsT>> serviceFactoryClass, Class<? extends ServiceRpcFactory<OptionsT>> rpcFactoryClass, ServiceOptions.Builder<ServiceT,OptionsT,?> builder, ServiceDefaults<ServiceT,OptionsT> serviceDefaults)
Internal Only : This feature is not stable for application use.
This class should only be extended within google-cloud-java
Parameters
Name
Description
serviceFactoryClass
Class <? extends com.google.cloud.ServiceFactory <ServiceT ,OptionsT >>
rpcFactoryClass
Class <? extends com.google.cloud.spi.ServiceRpcFactory <OptionsT >>
builder
Builder <ServiceT ,OptionsT ,? >
serviceDefaults
ServiceDefaults <ServiceT ,OptionsT >
Fields
clientLibToken
protected final String clientLibToken
Field Value
Type
Description
String
credentials
protected Credentials credentials
Field Value
Type
Description
com.google.auth.Credentials
Methods
<B>toBuilder()
public abstract B <B>toBuilder()
Returns
Type
Description
B
baseEquals(ServiceOptions<?,?> other)
protected boolean baseEquals(ServiceOptions<?,?> other)
baseHashCode()
protected int baseHashCode()
Returns
Type
Description
int
defaultRetrySettings()
protected RetrySettings defaultRetrySettings()
Some services may have different backoff requirements listed in their SLAs. Be sure to override
this method in options subclasses when the service's backoff requirement differs from the
default parameters listed in RetrySettings .
getApiTracerFactory()
public ApiTracerFactory getApiTracerFactory()
getApplicationName()
public String getApplicationName()
Returns the application's name as a string in the format gcloud-java/[version]
,
optionally prepended with externally supplied User-Agent header value (via setting custom
header provider).
Returns
Type
Description
String
getClientLibToken()
public String getClientLibToken()
Returns
Type
Description
String
getClock()
public ApiClock getClock()
Returns the service's clock. Default time source uses System#currentTimeMillis() to get
current time.
getCredentials()
public Credentials getCredentials()
Returns the authentication credentials.
Returns
Type
Description
com.google.auth.Credentials
getDefaultHost()
protected String getDefaultHost()
Returns
Type
Description
String
getDefaultProject()
protected String getDefaultProject()
Returns
Type
Description
String
getHost()
Returns the service host.
Returns
Type
Description
String
getLibraryVersion()
public String getLibraryVersion()
Returns the library's version as a string.
Returns
Type
Description
String
public final HeaderProvider getMergedHeaderProvider(HeaderProvider internalHeaderProvider)
getProjectId()
public String getProjectId()
Returns the project ID. Return value can be null (for services that don't require a project
ID).
Returns
Type
Description
String
getQuotaProjectId()
public String getQuotaProjectId()
Returns the quotaProjectId that specifies the project used for quota and billing purposes.
Returns
Type
Description
String
getResolvedApiaryHost(String serviceName)
public String getResolvedApiaryHost(String serviceName)
Returns a host value to be used for BigQuery and Storage Apiary Wrapped Libraries. To be
removed in the future when Apiary clients can resolve their endpoints. Returns the host to be
used as the rootUrl.
The resolved host will be in https://{serviceName}.{resolvedUniverseDomain}/
format. The
resolvedUniverseDomain will be set to googleapis.com
if universeDomain is null.
The host value is set to DEFAULT_HOST if the user didn't configure a host. Returns the host
value the user set, otherwise constructs the host for the user.
See Also: rootUrl
Parameter
Name
Description
serviceName
String
Returns
Type
Description
String
getResolvedHost(String serviceName)
public String getResolvedHost(String serviceName)
Returns the resolved host for the Service to connect to Google Cloud
The resolved host will be in https://{serviceName}.{resolvedUniverseDomain}
format. The
resolvedUniverseDomain will be set to googleapis.com
if universeDomain is null. The format is
similar to the DEFAULT_HOST value in java-core.
See Also: DEFAULT_HOST
Parameter
Name
Description
serviceName
String
Returns
Type
Description
String
getRetrySettings()
public RetrySettings getRetrySettings()
Returns configuration parameters for request retries.
getRpc()
public ServiceRpc getRpc()
Returns a Service RPC object for the current service. For instance, when using Google Cloud
Storage, it returns a StorageRpc object.
getScopedCredentials()
public Credentials getScopedCredentials()
Returns the authentication credentials. If required, credentials are scoped.
Returns
Type
Description
com.google.auth.Credentials
getScopes()
protected abstract Set<String> getScopes()
getService()
public ServiceT getService()
Returns a Service object for the current service. For instance, when using Google Cloud
Storage, it returns a Storage object.
Returns
Type
Description
ServiceT
getTransportOptions()
public TransportOptions getTransportOptions()
Returns the transport-specific options for this service.
getUniverseDomain()
public String getUniverseDomain()
Universe Domain is the domain for Google Cloud Services. A Google Cloud endpoint follows the
format of {ServiceName}.{UniverseDomain}
. For example, speech.googleapis.com would have a
Universe Domain value of googleapis.com
and cloudasset.test.com would have a Universe Domain
of test.com
.
Returns
Type
Description
String
The universe domain value set in the Builder's setter. This is not the resolved
Universe Domain
getUserAgent()
public final String getUserAgent()
Returns
Type
Description
String
hasValidUniverseDomain()
public boolean hasValidUniverseDomain()
Validates that Credentials' Universe Domain matches the resolved Universe Domain. Currently,
this is only intended for BigQuery and Storage Apiary Wrapped Libraries.
This validation call should be made prior to any RPC invocation. This call is used to gate
the RPC invocation if there is no valid universe domain.
projectIdRequired()
protected boolean projectIdRequired()
Returns whether a service requires a project ID. This method may be overridden in
service-specific Options objects.
Returns
Type
Description
boolean
true if a project ID is required to use the service, false if not
shouldRefreshRpc(ServiceRpc cachedRpc)
protected boolean shouldRefreshRpc(ServiceRpc cachedRpc)
Parameter
Name
Description
cachedRpc
ServiceRpc
The currently cached service object
Returns
Type
Description
boolean
true if the currently cached service object should be refreshed.
shouldRefreshService(ServiceT cachedService)
protected boolean shouldRefreshService(ServiceT cachedService)
Parameter
Name
Description
cachedService
ServiceT
The currently cached service object
Returns
Type
Description
boolean
true if the currently cached service object should be refreshed.