org.refcodes.net.MediaTypeFactoryLookup, org.refcodes.net.MediaTypeFactoryLookup.MutableMediaTypeFactoryLookup, org.refcodes.net.UserAgentAccessor, org.refcodes.net.UserAgentAccessor.UserAgentBuilder<RestClient>, org.refcodes.net.UserAgentAccessor.UserAgentMutator, org.refcodes.net.UserAgentAccessor.UserAgentProperty, RestClient, RestDeleteClient, RestGetClient, RestPostClient, RestPutClient, RestRequestClient, org.refcodes.runtime.RequestCorrelation<RestClient>, org.refcodes.runtime.SessionCorrelation<RestClient>HttpRestClientImpl, LoopbackRestClientImplpublic abstract class AbstractRestClient extends Object implements RestClient
RestClient interface being the
foundation for various RestClient implementations such as
HttpRestClientImpl or LoopbackRestClientImpl.
The AbstractRestClient is pre-configured with the following
MediaTypeFactory instances:
ApplicationJsonFactoryApplicationXmlFactoryTextPlainFactoryApplicationFormFactoryinitMedaTypeFactories(),
therein calling addMediaTypeFactory(MediaTypeFactory) to add (by
also invoking super's initMedaTypeFactories()) or to set your own
(without invoking super's initMedaTypeFactories())
MediaTypeFactory instances.org.refcodes.net.MediaTypeFactoryLookup.MutableMediaTypeFactoryLookuporg.refcodes.net.UserAgentAccessor.UserAgentBuilder<B extends org.refcodes.net.UserAgentAccessor.UserAgentBuilder<B>>, org.refcodes.net.UserAgentAccessor.UserAgentMutator, org.refcodes.net.UserAgentAccessor.UserAgentProperty| Modifier and Type | Field | Description |
|---|---|---|
protected boolean |
_hasRequestCorrelation |
|
protected boolean |
_hasSessionCorrelation |
| Constructor | Description |
|---|---|
AbstractRestClient() |
Instantiates a new abstract rest client.
|
AbstractRestClient(ExecutorService aExecutorService) |
Instantiates a new abstract rest client.
|
| Modifier and Type | Method | Description |
|---|---|---|
boolean |
addMediaTypeFactory(org.refcodes.net.MediaTypeFactory aMediaTypeFactory) |
|
RestRequestBuilder |
buildRequest(org.refcodes.net.HttpMethod aHttpMethod,
org.refcodes.net.Url aUrl,
org.refcodes.net.RequestHeaderFields aHeaderFields,
Object aRequest) |
Prepares a request builder with the possible attributes and returns the
according request's
RestRequestBuilder instance. |
RestResponse |
doRequest(org.refcodes.net.HttpMethod aHttpMethod,
org.refcodes.net.Url aUrl,
org.refcodes.net.RequestHeaderFields aHeaderFields,
Object aRequest) |
Sends a request with the possible attributes and returns the according
request's
RestResponse instance synchronously. |
RestCallerBuilder |
doRequest(org.refcodes.net.HttpMethod aHttpMethod,
org.refcodes.net.Url aUrl,
org.refcodes.net.RequestHeaderFields aHeaderFields,
Object aRequest,
RestResponseObserver aResponseObserver) |
Creates a request with the possible attributes and returns the according
RestCallerBuilder instance used for the request. |
protected void |
doRequestCorrelation(org.refcodes.net.RequestHeaderFields aRequestHeaderFields) |
Do request correlation.
|
protected void |
doRequestCorrelation(org.refcodes.net.ResponseHeaderFields aResponseHeaderFields) |
Do request correlation.
|
protected void |
doSessionCorrelation(org.refcodes.net.RequestHeaderFields aRequestHeaderFields) |
Do session correlation.
|
protected void |
doSessionCorrelation(org.refcodes.net.ResponseHeaderFields aResponseHeaderFields) |
Do session correlation.
|
org.refcodes.net.MediaType[] |
getFactoryMediaTypes() |
|
String |
getUserAgent() |
|
boolean |
hasRequestCorrelation() |
|
boolean |
hasSessionCorrelation() |
|
protected void |
initMedaTypeFactories() |
Adds the default
MediaTypeFactory instances. |
protected void |
onRestRequest(RestRequestHandler aHandler) |
Sets the hook receiving a prepared
RestCallerBuilder instance to
be used to do the technical request with the technology chosen by the
implementing sub-class. |
void |
setRequestCorrelation(boolean hasRequestCorrelation) |
|
void |
setSessionCorrelation(boolean hasSessionCorrelation) |
|
void |
setUserAgent(String aUserAgent) |
|
org.refcodes.net.MediaTypeFactory |
toMediaTypeFactory(org.refcodes.net.MediaType aMediaType) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitdisableRequestCorrelation, enableRequestCorrelationwithDisableRequestCorrelation, withDisableSessionCorrelation, withEnableRequestCorrelation, withEnableSessionCorrelation, withRequestCorrelation, withSessionCorrelation, withUserAgentbuildDelete, buildDelete, buildDelete, buildDelete, buildDelete, buildDelete, buildDelete, buildDelete, buildDelete, buildDelete, buildDelete, buildDelete, buildDelete, buildDelete, buildDelete, buildDelete, buildDelete, buildDelete, buildDelete, buildDelete, buildDelete, buildDelete, buildDelete, buildDelete, buildDelete, buildDelete, buildDelete, buildDelete, buildDelete, buildDelete, buildDelete, buildDelete, buildDelete, buildDelete, buildDelete, buildDelete, buildDelete, buildDelete, buildDelete, buildDelete, buildDelete, buildDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDelete, doDeletebuildGet, buildGet, buildGet, buildGet, buildGet, buildGet, buildGet, buildGet, buildGet, buildGet, buildGet, buildGet, buildGet, buildGet, buildGet, buildGet, buildGet, buildGet, buildGet, buildGet, buildGet, buildGet, buildGet, buildGet, buildGet, buildGet, buildGet, buildGet, buildGet, buildGet, buildGet, buildGet, buildGet, buildGet, buildGet, buildGet, buildGet, buildGet, buildGet, buildGet, buildGet, buildGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGet, doGetbuildPost, buildPost, buildPost, buildPost, buildPost, buildPost, buildPost, buildPost, buildPost, buildPost, buildPost, buildPost, buildPost, buildPost, buildPost, buildPost, buildPost, buildPost, buildPost, buildPost, buildPost, buildPost, buildPost, buildPost, buildPost, buildPost, buildPost, buildPost, buildPost, buildPost, buildPost, buildPost, buildPost, buildPost, buildPost, buildPost, buildPost, buildPost, buildPost, buildPost, buildPost, buildPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPost, doPostbuildPut, buildPut, buildPut, buildPut, buildPut, buildPut, buildPut, buildPut, buildPut, buildPut, buildPut, buildPut, buildPut, buildPut, buildPut, buildPut, buildPut, buildPut, buildPut, buildPut, buildPut, buildPut, buildPut, buildPut, buildPut, buildPut, buildPut, buildPut, buildPut, buildPut, buildPut, buildPut, buildPut, buildPut, buildPut, buildPut, buildPut, buildPut, buildPut, buildPut, buildPut, buildPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPut, doPutbuildRequest, buildRequest, buildRequest, buildRequest, buildRequest, buildRequest, buildRequest, buildRequest, buildRequest, buildRequest, buildRequest, buildRequest, buildRequest, buildRequest, buildRequest, buildRequest, buildRequest, buildRequest, buildRequest, buildRequest, buildRequest, buildRequest, buildRequest, buildRequest, buildRequest, buildRequest, buildRequest, buildRequest, buildRequest, buildRequest, buildRequest, buildRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequest, doRequestprotected boolean _hasRequestCorrelation
protected boolean _hasSessionCorrelation
public AbstractRestClient(ExecutorService aExecutorService)
aExecutorService - the executor servicepublic AbstractRestClient()
protected void initMedaTypeFactories()
MediaTypeFactory instances. Can be overridden.public void setRequestCorrelation(boolean hasRequestCorrelation)
setRequestCorrelation in interface org.refcodes.runtime.RequestCorrelation<RestClient>public boolean hasRequestCorrelation()
hasRequestCorrelation in interface org.refcodes.runtime.RequestCorrelation<RestClient>public void setSessionCorrelation(boolean hasSessionCorrelation)
setSessionCorrelation in interface org.refcodes.runtime.SessionCorrelation<RestClient>public boolean hasSessionCorrelation()
hasSessionCorrelation in interface org.refcodes.runtime.SessionCorrelation<RestClient>public RestResponse doRequest(org.refcodes.net.HttpMethod aHttpMethod, org.refcodes.net.Url aUrl, org.refcodes.net.RequestHeaderFields aHeaderFields, Object aRequest) throws org.refcodes.net.HttpResponseException
RestResponse instance synchronously.doRequest in interface RestRequestClientaHttpMethod - The HTTP-Method for the request.aUrl - The Url from which to take the URL specific data.aHeaderFields - The HTTP-Header's fields to be used for the request.aRequest - The body to be sent with the request (e.g. when doing a
HttpMethod.POST request.RestResponse for this request.org.refcodes.net.HttpResponseException - thrown in case of some unexpected response.public RestCallerBuilder doRequest(org.refcodes.net.HttpMethod aHttpMethod, org.refcodes.net.Url aUrl, org.refcodes.net.RequestHeaderFields aHeaderFields, Object aRequest, RestResponseObserver aResponseObserver)
RestCallerBuilder instance used for the request.
The HTTP-Request is actually sent not earlier than you calling
Openable.open() on the returned
RestCallerBuilder as the RestCallerBuilder still may be
modified after invoking this method!doRequest in interface RestRequestClientaHttpMethod - The HTTP-Method for the request.aUrl - The Url from which to take the URL specific data.aHeaderFields - The HTTP-Header's fields to be used for the request.aRequest - The body to be sent with the request (e.g. when doing a
HttpMethod.POST request.aResponseObserver - The listener processing a response targeted at
this RestCallerBuilder.RestCallerBuilder which is used by the request.public RestRequestBuilder buildRequest(org.refcodes.net.HttpMethod aHttpMethod, org.refcodes.net.Url aUrl, org.refcodes.net.RequestHeaderFields aHeaderFields, Object aRequest)
RestRequestBuilder instance. Invoking
RestRequestBuilder.toRestResponse() starts the request and
synchronously returns the response.buildRequest in interface RestRequestClientaHttpMethod - The HTTP-Method for the request.aUrl - The Url from which to take the URL specific data.aHeaderFields - The HTTP-Header's fields to be used for the request.aRequest - The body to be sent with the request (e.g. when doing a
HttpMethod.POST request.RestRequestBuilder at this request.public boolean addMediaTypeFactory(org.refcodes.net.MediaTypeFactory aMediaTypeFactory)
addMediaTypeFactory in interface org.refcodes.net.MediaTypeFactoryLookup.MutableMediaTypeFactoryLookuppublic org.refcodes.net.MediaTypeFactory toMediaTypeFactory(org.refcodes.net.MediaType aMediaType)
toMediaTypeFactory in interface org.refcodes.net.MediaTypeFactoryLookuppublic org.refcodes.net.MediaType[] getFactoryMediaTypes()
getFactoryMediaTypes in interface org.refcodes.net.MediaTypeFactoryLookuppublic String getUserAgent()
getUserAgent in interface org.refcodes.net.UserAgentAccessorpublic void setUserAgent(String aUserAgent)
setUserAgent in interface org.refcodes.net.UserAgentAccessor.UserAgentMutatorprotected void onRestRequest(RestRequestHandler aHandler)
RestCallerBuilder instance to
be used to do the technical request with the technology chosen by the
implementing sub-class.aHandler - The RestRequestHandler for handling the HTTP
request.protected void doRequestCorrelation(org.refcodes.net.RequestHeaderFields aRequestHeaderFields)
aRequestHeaderFields - the request Header-Fieldsprotected void doSessionCorrelation(org.refcodes.net.RequestHeaderFields aRequestHeaderFields)
aRequestHeaderFields - the request Header-Fieldsprotected void doRequestCorrelation(org.refcodes.net.ResponseHeaderFields aResponseHeaderFields)
aResponseHeaderFields - the response Header-Fieldsprotected void doSessionCorrelation(org.refcodes.net.ResponseHeaderFields aResponseHeaderFields)
aResponseHeaderFields - the response Header-FieldsCopyright © 2018. All rights reserved.