@ThreadSafe public abstract class AbstractBceClient extends Object
Responsible for basic client capabilities that are the same across all BCE SDK Java clients (ex: setting the client endpoint).
Subclass names should be in the form of "com.baidubce.services.xxx.XxxClient", while "xxx" is the service ID and "Xxx" is the capitalized service ID.
| Modifier and Type | Field and Description |
|---|---|
protected BceClientConfiguration |
config
The client configuration for this client.
|
static String |
DEFAULT_CONTENT_TYPE
The default http request content type for all BCE service APIs.
|
static String |
DEFAULT_ENCODING
The default string encoding for all BCE service APIs.
|
static String |
DEFAULT_SERVICE_DOMAIN
The default service domain for BCE.
|
static String |
URL_PREFIX
The common URL prefix for all BCE service APIs.
|
| Constructor and Description |
|---|
AbstractBceClient(BceClientConfiguration config,
HttpResponseHandler[] responseHandlers)
Constructs a new AbstractBceClient with the specified client configuration and handlers.
|
| Modifier and Type | Method and Description |
|---|---|
URI |
getEndpoint()
Returns the service endpoint to which this client will send requests.
|
String |
getServiceId()
Returns the target service ID.
|
protected <T extends AbstractBceResponse> |
invokeHttpClient(InternalRequest request,
Class<T> responseClass)
Subclasses should invoke this method for sending request to the target service.
|
boolean |
isRegionSupported()
Returns true if the target service supports regions.
|
void |
shutdown()
Shuts down the client and releases all underlying resources.
|
public static final String DEFAULT_SERVICE_DOMAIN
public static final String URL_PREFIX
public static final String DEFAULT_ENCODING
public static final String DEFAULT_CONTENT_TYPE
protected BceClientConfiguration config
public AbstractBceClient(BceClientConfiguration config, HttpResponseHandler[] responseHandlers)
The constructor will extract serviceId from the class name automatically. And if there is no endpoint specified in the client configuration, the constructor will create a default one.
config - the client configuration. The constructor makes a copy of this parameter so that it is
safe to change the configuration after then.responseHandlers - a list of handlers for processing HTTP responses from services. See
BceHttpClient.execute(InternalRequest, Class, HttpResponseHandler[])IllegalStateException - if the class name does not follow the naming convention for BCE clients.IllegalArgumentException - if the endpoint specified in the client configuration is not a valid URI.public boolean isRegionSupported()
The result will impact the construction of default service endpoint.
public URI getEndpoint()
public String getServiceId()
public void shutdown()
Invoking this method is NOT a must. Once it is called, no subsequent requests should be made.
protected <T extends AbstractBceResponse> T invokeHttpClient(InternalRequest request, Class<T> responseClass)
This method will add "Content-Type" and "Date" to headers with default values if not present.
request - the request to build up the HTTP request.responseClass - the response class.Copyright © 2015. All rights reserved.