Package org.restlet.resource
Class ClientResource
java.lang.Object
org.restlet.resource.Resource
org.restlet.resource.ClientResource
Client-side resource. Acts like a proxy of a target resource.
This class changes the semantics of the
Users must be aware that by most representations can only be read or written once. Some others, such as
Concurrency note: instances of the class are not designed to be shared among several threads. If thread-safety is necessary, consider using the lower-level
This class changes the semantics of the
Resource.getRequest() and
Resource.getResponse() methods. Since a clientResource may receive
severals responses for a single request (in case of interim response), the
Resource.getResponse() method returns the last received response object. The
Request object returned by the Resource.getRequest() is actually a prototype
which is cloned (except the representation) just before the handle()
method is called.Users must be aware that by most representations can only be read or written once. Some others, such as
StringRepresentation stored the entity in
memory which can be read several times but has the drawback to consume
memory.Concurrency note: instances of the class are not designed to be shared among several threads. If thread-safety is necessary, consider using the lower-level
Client class instead.- Author:
- Jerome Louvel
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedEmpty constructor.ClientResource(String uri) Constructor.ClientResource(URI uri) Constructor.ClientResource(Context context, String uri) Constructor.ClientResource(Context context, URI uri) Constructor.ClientResource(Context context, Method method, String uri) Constructor.ClientResource(Context context, Method method, URI uri) Constructor.ClientResource(Context context, Method method, Reference reference) Constructor.ClientResource(Context context, Reference reference) Constructor.ClientResource(Context context, Request request) Constructor.ClientResource(Context context, Request request, Response response) Constructor.ClientResource(Method method, String uri) Constructor.ClientResource(Method method, URI uri) Constructor.ClientResource(Method method, Reference reference) Constructor.ClientResource(Reference reference) Constructor.ClientResource(Request request) Constructor.ClientResource(Request request, Response response) Constructor.ClientResource(ClientResource resource) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionvoidUpdates the client preferences to accept the given metadata (media types, character sets, etc.) with a 1.0 quality in addition to existing ones.voidUpdates the client preferences to accept the given metadata (media types, character sets, etc.) with a given quality in addition to existing ones.addQueryParameter(String name, String value) Adds a parameter to the query component.addQueryParameter(Parameter parameter) Adds a parameter to the query component.addQueryParameters(Iterable<Parameter> parameters) Adds several parameters to the query component.addSegment(String value) Adds a segment at the end of the path.static <T> TCreates a client resource that proxy calls to the given Java interface into Restlet method calls.static <T> TCreates a client resource that proxy calls to the given Java interface into Restlet method calls.static <T> TCreates a client resource that proxy calls to the given Java interface into Restlet method calls.protected UniformCreates a next Restlet is no one is set.Creates a new request by cloning the one wrapped by this class.protected ResponsecreateResponse(Request request) Creates a new response for the given request.delete()Deletes the target resource and all its representations.<T> TDeletes the target resource and all its representations.Deletes the target resource and all its representations.voidBy default, it throws a new resource exception.voidBy default, it throws a new resource exception.voidBy default, it throws a new resource exception.protected voidReleases the resource by stopping any connector automatically created and associated to the "next" property (seegetNext()method.protected voidfinalize()Attempts toResource.release()the resource.get()Represents the resource using content negotiation to select the best variant based on the client preferences.<T> TRepresents the resource in the given object class.Represents the resource using a given media type.getAttribute(String name) Returns the attribute value by looking up the given name in the response attributes maps.Returns the child resource defined by its URI relatively to the current resource.<T> TWraps the child client resource to proxy calls to the given Java interface into Restlet method calls.Returns the child resource defined by its URI relatively to the current resource.<T> TWraps the child client resource to proxy calls to the given Java interface into Restlet method calls.intReturns the maximum number of redirections that can be automatically followed for a single call.getNext()Returns the next Restlet.Returns the callback invoked on response reception.Returns the callback invoked after sending the request.Returns the parent resource.<T> TWraps the parent client resource to proxy calls to the given Java interface into Restlet method calls.intReturns the number of retry attempts before reporting an error.longReturns the delay in milliseconds between two retry attempts.handle()Handles the call by invoking the next handler.protected RepresentationHandles the call by cloning the prototype request, setting the method and entity.protected <T> THandles the call by cloning the prototype request, setting the method and entity.protected <T> THandles an object entity.protected RepresentationHandles the call by cloning the prototype request, setting the method and entity.protected Representationhandle(Method method, Representation entity) Handles the call by cloning the prototype request, setting the method and entity.protected Representationhandle(Method method, Representation entity, ClientInfo clientInfo) Handles the call by cloning the prototype request, setting the method and entity.protected Representationhandle(Method method, Representation entity, MediaType mediaType) Handles the call by cloning the prototype request, setting the method and entity.protected voidhandle(Request request, Response response, List<Reference> references, int retryAttempt, Uniform next) Handle the call and follow redirection for safe methods.handleInbound(Response response) Handles the inbound call.handleOutbound(Request request) Handles the outbound call by invoking the next handler.booleanhasNext()Indicates if there is a next Restlet.head()Represents the resource using content negotiation to select the best variant based on the client preferences.Represents the resource using a given media type.booleanIndicates if redirections are followed.booleanIndicates if transient or unknown size response entities should be buffered after being received.booleanIndicates if transient or unknown size response entities should be buffered after being received.booleanIndicates if idempotent requests should be retried on error.options()Describes the resource using content negotiation to select the best variant based on the client preferences.<T> TDescribes the resource using a given media type.Describes the resource using a given media type.Patches a resource with the given object as delta state.<T> TPatches a resource with the given object as delta state.Patches a resource with the given object as delta state.patch(Representation entity) Patches a resource with the given representation as delta state.Posts an object entity.<T> TPosts an object entity.Posts an object entity.post(Representation entity) Posts a representation.Puts an object entity.<T> TPuts an object entity.Puts an object entity.put(Representation entity) Creates or updates a resource with the given representation as new state to be stored.protected voidredirect(Request request, Response response, List<Reference> references, int retryAttempt, Uniform next) Effectively redirects a client call.protected voidretry(Request request, Response response, List<Reference> references, int retryAttempt, Uniform next) Effectively retries a failed client call.voidsetAttribute(String name, Object value) Sets the request attribute value.voidsetChallengeResponse(ChallengeResponse challengeResponse) Sets the authentication response sent by a client to an origin server.voidsetChallengeResponse(ChallengeScheme scheme, String identifier, String secret) Sets the authentication response sent by a client to an origin server given a scheme, identifier and secret.voidsetClientInfo(ClientInfo clientInfo) Sets the client-specific information.voidsetConditions(Conditions conditions) Sets the conditions applying to this request.voidsetCookies(Series<Cookie> cookies) Sets the cookies provided by the client.voidsetEntityBuffering(boolean entityBuffering) Indicates if transient entities should be buffered after being received or before being sent.voidsetFollowingRedirects(boolean followingRedirects) Indicates if redirections are followed.voidsetHostRef(String hostUri) Sets the host reference using an URI string.voidsetHostRef(Reference hostRef) Sets the host reference.voidsetLoggable(boolean loggable) Indicates if the call is loggablevoidsetMaxRedirects(int maxRedirects) Sets the maximum number of redirections that can be automatically followed for a single call.voidSets the method called.voidSets the next handler such as a Restlet or a Filter.voidsetOnResponse(Uniform onResponseCallback) Sets the callback invoked on response reception.voidSets the callback invoked after sending the request.voidsetOriginalRef(Reference originalRef) Sets the original reference requested by the client.voidsetProtocol(Protocol protocol) Sets the protocol used or to be used.voidsetProxyChallengeResponse(ChallengeResponse challengeResponse) Sets the proxy authentication response sent by a client to an origin server.voidsetProxyChallengeResponse(ChallengeScheme scheme, String identifier, String secret) Sets the proxy authentication response sent by a client to an origin server given a scheme, identifier and secret.voidSets the ranges to return from the target resource's representation.voidsetReference(String uri) Sets the resource's reference using an URI string.voidsetReference(Reference reference) Sets the resource's reference.voidsetReferrerRef(String referrerUri) Sets the referrer reference if available using an URI string.voidsetReferrerRef(Reference referrerRef) Sets the referrer reference if available.voidsetRequestEntityBuffering(boolean requestEntityBuffering) Indicates if transient or unknown size response entities should be buffered after being received.voidsetResponseEntityBuffering(boolean responseEntityBuffering) Indicates if transient or unknown size response entities should be buffered after being received.voidsetRetryAttempts(int retryAttempts) Sets the number of retry attempts before reporting an error.voidsetRetryDelay(long retryDelay) Sets the delay in milliseconds between two retry attempts.voidsetRetryOnError(boolean retryOnError) Indicates if idempotent requests should be retried on error.<T> TWraps the client resource to proxy calls to the given Java interface into Restlet method calls.<T> Twrap(Class<? extends T> resourceInterface, ClassLoader classLoader) Wraps the client resource to proxy calls to the given Java interface into Restlet method calls.Methods inherited from class org.restlet.resource.Resource
doCatch, doError, doInit, getAllowedMethods, getApplication, getChallengeRequests, getChallengeResponse, getClientInfo, getConditions, getConnegService, getContext, getConverterService, getCookies, getCookieSettings, getDimensions, getHostRef, getLocationRef, getLogger, getMatrix, getMatrixValue, getMaxForwards, getMetadataService, getMethod, getOriginalRef, getProtocol, getProxyChallengeRequests, getProxyChallengeResponse, getQuery, getQueryValue, getRanges, getReference, getReferrerRef, getRequest, getRequestAttributes, getRequestCacheDirectives, getRequestEntity, getResponse, getResponseAttributes, getResponseCacheDirectives, getResponseEntity, getRootRef, getServerInfo, getStatus, getStatusService, init, isConfidential, isLoggable, release, setApplication, setQueryValue, setRequest, setResponse, toBoolean, toByte, toDouble, toFloat, toInteger, toLong, toObject, toRepresentation, toRepresentation, toRepresentation, toShort, toString
-
Constructor Details
-
ClientResource
protected ClientResource()Empty constructor. -
ClientResource
Constructor.- Parameters:
resource- The client resource to copy.
-
ClientResource
Constructor.- Parameters:
context- The context.uri- The target URI.
-
ClientResource
Constructor.- Parameters:
context- The context.method- The method to call.uri- The target URI.
-
ClientResource
Constructor.- Parameters:
context- The context.method- The method to call.reference- The target reference.
-
ClientResource
Constructor.- Parameters:
context- The context.method- The method to call.uri- The target URI.
-
ClientResource
Constructor.- Parameters:
context- The context.reference- The target reference.
-
ClientResource
Constructor.- Parameters:
context- The current context.request- The handled request.
-
ClientResource
Constructor.- Parameters:
context- The current context.request- The handled request.response- The handled response.
-
ClientResource
Constructor.- Parameters:
context- The context.uri- The target URI.
-
ClientResource
Constructor.- Parameters:
uri- The target URI.
-
ClientResource
Constructor.- Parameters:
method- The method to call.uri- The target URI.
-
ClientResource
Constructor.- Parameters:
method- The method to call.reference- The target reference.
-
ClientResource
Constructor.- Parameters:
method- The method to call.uri- The target URI.
-
ClientResource
Constructor.- Parameters:
reference- The target reference.
-
ClientResource
Constructor.- Parameters:
request- The handled request.
-
ClientResource
Constructor.- Parameters:
request- The handled request.response- The handled response.
-
ClientResource
Constructor.- Parameters:
uri- The target URI.
-
-
Method Details
-
create
public static <T> T create(Context context, Reference reference, Class<? extends T> resourceInterface) Creates a client resource that proxy calls to the given Java interface into Restlet method calls. It basically creates a new instance ofClientResourceand invokes thewrap(Class)method.- Type Parameters:
T- The proxified interface.- Parameters:
context- The context.reference- The target reference.resourceInterface- The annotated resource interface class to proxy.- Returns:
- The proxy instance.
-
create
Creates a client resource that proxy calls to the given Java interface into Restlet method calls. It basically creates a new instance ofClientResourceand invokes thewrap(Class)method.- Type Parameters:
T- The proxified interface.- Parameters:
reference- The target reference.resourceInterface- The annotated resource interface class to proxy.- Returns:
- The proxy instance.
-
create
Creates a client resource that proxy calls to the given Java interface into Restlet method calls. It basically creates a new instance ofClientResourceand invokes thewrap(Class)method.- Type Parameters:
T- The proxified interface.- Parameters:
uri- The target URI.resourceInterface- The annotated resource interface class to proxy.- Returns:
- The proxy instance.
-
accept
Updates the client preferences to accept the given metadata (media types, character sets, etc.) with a 1.0 quality in addition to existing ones.- Parameters:
metadata- The metadata to accept.- See Also:
-
accept
Updates the client preferences to accept the given metadata (media types, character sets, etc.) with a given quality in addition to existing ones.- Parameters:
metadata- The metadata to accept.quality- The quality to set.- See Also:
-
addQueryParameter
Adds a parameter to the query component. The name and value are automatically encoded if necessary.- Parameters:
parameter- The parameter to add.- Returns:
- The updated reference.
- See Also:
-
addQueryParameter
Adds a parameter to the query component. The name and value are automatically encoded if necessary.- Parameters:
name- The parameter name.value- The optional parameter value.- Returns:
- The updated reference.
- See Also:
-
addQueryParameters
Adds several parameters to the query component. The name and value are automatically encoded if necessary.- Parameters:
parameters- The parameters to add.- Returns:
- The updated reference.
- See Also:
-
addSegment
Adds a segment at the end of the path. If the current path doesn't end with a slash character, one is inserted before the new segment value. The value is automatically encoded if necessary.- Parameters:
value- The segment value to add.- Returns:
- The updated reference.
- See Also:
-
createNext
Creates a next Restlet is no one is set. By default, it creates a newClientbased on the protocol of the resource's URI reference.- Returns:
- The created next Restlet or null.
-
createRequest
Creates a new request by cloning the one wrapped by this class.- Returns:
- The new response.
- See Also:
-
createResponse
Creates a new response for the given request.- Parameters:
request- The associated request.- Returns:
- The new response.
-
delete
Deletes the target resource and all its representations. If a success status is not returned, then a resource exception is thrown.- Returns:
- The optional response entity.
- Throws:
ResourceException- See Also:
-
delete
Deletes the target resource and all its representations. If a success status is not returned, then a resource exception is thrown.- Type Parameters:
T- The expected type for the response entity.- Parameters:
resultClass- The expected class for the response entity object.- Returns:
- The response entity object.
- Throws:
ResourceException- See Also:
-
delete
Deletes the target resource and all its representations. If a success status is not returned, then a resource exception is thrown.- Parameters:
mediaType- The media type of the representation to retrieve.- Returns:
- The representation matching the given media type.
- Throws:
ResourceException- See Also:
-
doError
By default, it throws a new resource exception. CalldoError(org.restlet.data.Status, org.restlet.Request, org.restlet.Response).- Parameters:
request- The associated request.response- The associated response.
-
doError
By default, it throws a new resource exception. CalldoError(org.restlet.data.Status, org.restlet.Request, org.restlet.Response). -
doError
By default, it throws a new resource exception. This can be overridden to provide a different behavior.- Parameters:
errorStatus- The error status received.request- The associated request.response- The associated response.
-
doRelease
Releases the resource by stopping any connector automatically created and associated to the "next" property (seegetNext()method.- Overrides:
doReleasein classResource- Throws:
ResourceException- See Also:
-
finalize
Attempts toResource.release()the resource. -
get
Represents the resource using content negotiation to select the best variant based on the client preferences. Note that the client preferences will be automatically adjusted, but only for this request. If you want to change them once for all, you can use theResource.getClientInfo()method.
If a success status is not returned, then a resource exception is thrown.- Returns:
- The best representation.
- Throws:
ResourceException- See Also:
-
get
Represents the resource in the given object class. Note that the client preferences will be automatically adjusted, but only for this request. If you want to change them once for all, you can use theResource.getClientInfo()method.
If a success status is not returned, then a resource exception is thrown.- Type Parameters:
T- The expected type for the response entity.- Parameters:
resultClass- The expected class for the response entity object.- Returns:
- The response entity object.
- Throws:
ResourceException- See Also:
-
get
Represents the resource using a given media type. Note that the client preferences will be automatically adjusted, but only for this request. If you want to change them once for all, you can use theResource.getClientInfo()method.
If a success status is not returned, then a resource exception is thrown.- Parameters:
mediaType- The media type of the representation to retrieve.- Returns:
- The representation matching the given media type.
- Throws:
ResourceException- See Also:
-
getAttribute
Returns the attribute value by looking up the given name in the response attributes maps. The toString() method is then invoked on the attribute value.- Specified by:
getAttributein classResource- Parameters:
name- The attribute name.- Returns:
- The response attribute value.
-
getChild
Returns the child resource defined by its URI relatively to the current resource. The child resource is defined in the sense of hierarchical URIs. If the resource URI is not hierarchical, then an exception is thrown.- Parameters:
relativeRef- The URI reference of the child resource relatively to the current resource seen as the parent resource.- Returns:
- The child resource.
- Throws:
ResourceException
-
getChild
public <T> T getChild(Reference relativeRef, Class<? extends T> resourceInterface) throws ResourceException Wraps the child client resource to proxy calls to the given Java interface into Restlet method calls. The child resource is defined in the sense of hierarchical URIs. If the resource URI is not hierarchical, then an exception is thrown.- Type Parameters:
T- The proxified interface.- Parameters:
relativeRef- The URI reference of the child resource relatively to the current resource seen as the parent resource.resourceInterface- The annotated resource interface class to proxy.- Returns:
- The proxy instance.
- Throws:
ResourceException
-
getChild
Returns the child resource defined by its URI relatively to the current resource. The child resource is defined in the sense of hierarchical URIs. If the resource URI is not hierarchical, then an exception is thrown.- Parameters:
relativeUri- The URI of the child resource relatively to the current resource seen as the parent resource.- Returns:
- The child resource.
- Throws:
ResourceException
-
getChild
public <T> T getChild(String relativeUri, Class<? extends T> resourceInterface) throws ResourceException Wraps the child client resource to proxy calls to the given Java interface into Restlet method calls. The child resource is defined in the sense of hierarchical URIs. If the resource URI is not hierarchical, then an exception is thrown.- Type Parameters:
T- The proxified interface.- Parameters:
relativeUri- The URI of the child resource relatively to the current resource seen as the parent resource.resourceInterface- The annotated resource interface class to proxy.- Returns:
- The proxy instance.
- Throws:
ResourceException
-
getMaxRedirects
public int getMaxRedirects()Returns the maximum number of redirections that can be automatically followed for a single call. Default value is 10.- Returns:
- The maximum number of redirections that can be automatically followed for a single call.
-
getNext
Returns the next Restlet. By default, it is the client dispatcher if a context is available.- Returns:
- The next Restlet or null.
-
getOnResponse
Returns the callback invoked on response reception. If the value is not null, then the associated request will be executed asynchronously.- Returns:
- The callback invoked on response reception.
-
getOnSent
Returns the callback invoked after sending the request.- Returns:
- The callback invoked after sending the request.
-
getParent
Returns the parent resource. The parent resource is defined in the sense of hierarchical URIs. If the resource URI is not hierarchical, then an exception is thrown.- Returns:
- The parent resource.
- Throws:
ResourceException
-
getParent
Wraps the parent client resource to proxy calls to the given Java interface into Restlet method calls. The parent resource is defined in the sense of hierarchical URIs. If the resource URI is not hierarchical, then an exception is thrown.- Type Parameters:
T- The proxified interface.- Parameters:
resourceInterface- The annotated resource interface class to proxy.- Returns:
- The proxy instance.
- Throws:
ResourceException
-
getRetryAttempts
public int getRetryAttempts()Returns the number of retry attempts before reporting an error. Default value is 2.- Returns:
- The number of retry attempts before reporting an error.
-
getRetryDelay
public long getRetryDelay()Returns the delay in milliseconds between two retry attempts. Default value is 2 seconds.- Returns:
- The delay in milliseconds between two retry attempts.
-
handle
Handles the call by invoking the next handler. The prototype request is retrieved viaResource.getRequest()and cloned and the response is set as the latest withResource.setResponse(Response). If necessary thesetNext(Uniform)method is called as well with aClientinstance matching the request protocol. -
handle
Handles the call by cloning the prototype request, setting the method and entity.- Parameters:
method- The request method to use.- Returns:
- The optional response entity.
-
handle
Handles the call by cloning the prototype request, setting the method and entity.- Type Parameters:
T- The expected type for the response entity.- Parameters:
method- The request method to use.resultClass- The expected class for the response entity object.- Returns:
- The response entity object.
- Throws:
ResourceException
-
handle
Handles the call by cloning the prototype request, setting the method and entity.- Parameters:
method- The request method to use.mediaType- The preferred result media type.- Returns:
- The optional response entity.
-
handle
Handles an object entity. Automatically serializes the object using theConverterService.- Type Parameters:
T- The expected type for the response entity.- Parameters:
method- The request method to use.entity- The object entity to post.resultClass- The class of the response entity.- Returns:
- The response object entity.
- Throws:
ResourceException
-
handle
Handles the call by cloning the prototype request, setting the method and entity.- Parameters:
method- The request method to use.entity- The request entity to set.- Returns:
- The optional response entity.
-
handle
Handles the call by cloning the prototype request, setting the method and entity.- Parameters:
method- The request method to use.entity- The request entity to set.clientInfo- The client preferences.- Returns:
- The optional response entity.
-
handle
Handles the call by cloning the prototype request, setting the method and entity.- Parameters:
method- The request method to use.entity- The request entity to set.mediaType- The preferred result media type.- Returns:
- The optional response entity.
-
handle
protected void handle(Request request, Response response, List<Reference> references, int retryAttempt, Uniform next) Handle the call and follow redirection for safe methods.- Parameters:
request- The request to send.response- The response to update.references- The references that caused a redirection to prevent infinite loops.retryAttempt- The number of remaining attempts.next- The next handler handling the call.
-
handleInbound
Handles the inbound call. Note that only synchronous calls are processed.- Parameters:
response-- Returns:
- The response's entity, if any.
-
handleOutbound
Handles the outbound call by invoking the next handler.- Parameters:
request- The request to handle.- Returns:
- The response created.
- See Also:
-
hasNext
public boolean hasNext()Indicates if there is a next Restlet.- Returns:
- True if there is a next Restlet.
-
head
Represents the resource using content negotiation to select the best variant based on the client preferences. This method is identical toget()but doesn't return the actual content of the representation, only its metadata.
Note that the client preferences will be automatically adjusted, but only for this request. If you want to change them once for all, you can use theResource.getClientInfo()method.
If a success status is not returned, then a resource exception is thrown.- Returns:
- The best representation.
- Throws:
ResourceException- See Also:
-
head
Represents the resource using a given media type. This method is identical toget(MediaType)but doesn't return the actual content of the representation, only its metadata.
Note that the client preferences will be automatically adjusted, but only for this request. If you want to change them once for all, you can use theResource.getClientInfo()method.
If a success status is not returned, then a resource exception is thrown.- Parameters:
mediaType- The media type of the representation to retrieve.- Returns:
- The representation matching the given media type.
- Throws:
ResourceException- See Also:
-
isFollowingRedirects
public boolean isFollowingRedirects()Indicates if redirections are followed.- Returns:
- True if redirections are followed.
-
isRequestEntityBuffering
public boolean isRequestEntityBuffering()Indicates if transient or unknown size response entities should be buffered after being received. This is useful to increase the chance of being able to resubmit a failed request due to network error, or to prevent chunked encoding from being used an HTTP connector.- Returns:
- True if transient response entities should be buffered after being received.
-
isResponseEntityBuffering
public boolean isResponseEntityBuffering()Indicates if transient or unknown size response entities should be buffered after being received. This is useful to be able to systematically reuse and process a response entity several times after retrieval.- Returns:
- True if transient response entities should be buffered after being received.
-
isRetryOnError
public boolean isRetryOnError()Indicates if idempotent requests should be retried on error. Default value is true.- Returns:
- True if idempotent requests should be retried on error.
-
options
Describes the resource using content negotiation to select the best variant based on the client preferences. If a success status is not returned, then a resource exception is thrown.- Returns:
- The best description.
- Throws:
ResourceException- See Also:
-
options
Describes the resource using a given media type. If a success status is not returned, then a resource exception is thrown.- Type Parameters:
T- The expected type for the response entity.- Parameters:
resultClass- The expected class for the response entity object.- Returns:
- The response entity object.
- Throws:
ResourceException- See Also:
-
options
Describes the resource using a given media type. If a success status is not returned, then a resource exception is thrown.- Parameters:
mediaType- The media type of the representation to retrieve.- Returns:
- The matched description or null.
- Throws:
ResourceException- See Also:
-
patch
Patches a resource with the given object as delta state. Automatically serializes the object using theConverterService.- Parameters:
entity- The object entity containing the patch.- Returns:
- The optional result entity.
- Throws:
ResourceException- See Also:
-
patch
Patches a resource with the given object as delta state. Automatically serializes the object using theConverterService.- Type Parameters:
T- The expected type for the response entity.- Parameters:
entity- The object entity containing the patch.resultClass- The class of the response entity.- Returns:
- The response object entity.
- Throws:
ResourceException- See Also:
-
patch
Patches a resource with the given object as delta state. Automatically serializes the object using theConverterService.- Parameters:
entity- The object entity containing the patch.mediaType- The media type of the representation to retrieve.- Returns:
- The response object entity.
- Throws:
ResourceException- See Also:
-
patch
Patches a resource with the given representation as delta state. If a success status is not returned, then a resource exception is thrown.- Parameters:
entity- The request entity containing the patch.- Returns:
- The optional result entity.
- Throws:
ResourceException- See Also:
-
post
Posts an object entity. Automatically serializes the object using theConverterService.- Parameters:
entity- The object entity to post.- Returns:
- The optional result entity.
- Throws:
ResourceException- See Also:
-
post
Posts an object entity. Automatically serializes the object using theConverterService.- Type Parameters:
T- The expected type for the response entity.- Parameters:
entity- The object entity to post.resultClass- The class of the response entity.- Returns:
- The response object entity.
- Throws:
ResourceException- See Also:
-
post
Posts an object entity. Automatically serializes the object using theConverterService.- Parameters:
entity- The object entity to post.mediaType- The media type of the representation to retrieve.- Returns:
- The response object entity.
- Throws:
ResourceException- See Also:
-
post
Posts a representation. If a success status is not returned, then a resource exception is thrown.- Parameters:
entity- The posted entity.- Returns:
- The optional result entity.
- Throws:
ResourceException- See Also:
-
put
Puts an object entity. Automatically serializes the object using theConverterService.- Parameters:
entity- The object entity to put.- Returns:
- The optional result entity.
- Throws:
ResourceException- See Also:
-
put
Puts an object entity. Automatically serializes the object using theConverterService.- Type Parameters:
T- The expected type for the response entity.- Parameters:
entity- The object entity to put.resultClass- The class of the response entity.- Returns:
- The response object entity.
- Throws:
ResourceException- See Also:
-
put
Puts an object entity. Automatically serializes the object using theConverterService.- Parameters:
entity- The object entity to post.mediaType- The media type of the representation to retrieve.- Returns:
- The response object entity.
- Throws:
ResourceException- See Also:
-
put
Creates or updates a resource with the given representation as new state to be stored. If a success status is not returned, then a resource exception is thrown.- Parameters:
entity- The request entity to store.- Returns:
- The optional result entity.
- Throws:
ResourceException- See Also:
-
redirect
protected void redirect(Request request, Response response, List<Reference> references, int retryAttempt, Uniform next) Effectively redirects a client call. By default, it checks for infinite loops and unavailable entities, the references list is updated and thehandle(Request, Response, List, int, Uniform)method invoked.- Parameters:
request- The request to send.response- The response to update.references- The references that caused a redirection to prevent infinite loops.retryAttempt- The number of remaining attempts.next- The next handler handling the call.
-
retry
protected void retry(Request request, Response response, List<Reference> references, int retryAttempt, Uniform next) Effectively retries a failed client call. By default, it sleeps before the retry attempt and increments the number of retries.- Parameters:
request- The request to send.response- The response to update.references- The references that caused a redirection to prevent infinite loops.retryAttempt- The number of remaining attempts.next- The next handler handling the call.
-
setAttribute
Sets the request attribute value.- Specified by:
setAttributein classResource- Parameters:
name- The attribute name.value- The attribute to set.
-
setChallengeResponse
Sets the authentication response sent by a client to an origin server.- Parameters:
challengeResponse- The authentication response sent by a client to an origin server.- See Also:
-
setChallengeResponse
Sets the authentication response sent by a client to an origin server given a scheme, identifier and secret.- Parameters:
scheme- The challenge scheme.identifier- The user identifier, such as a login name or an access key.secret- The user secret, such as a password or a secret key.
-
setClientInfo
Sets the client-specific information.- Parameters:
clientInfo- The client-specific information.- See Also:
-
setConditions
Sets the conditions applying to this request.- Parameters:
conditions- The conditions applying to this request.- See Also:
-
setCookies
Sets the cookies provided by the client.- Parameters:
cookies- The cookies provided by the client.- See Also:
-
setEntityBuffering
public void setEntityBuffering(boolean entityBuffering) Indicates if transient entities should be buffered after being received or before being sent.- Parameters:
entityBuffering- True if transient entities should be buffered.- See Also:
-
setFollowingRedirects
public void setFollowingRedirects(boolean followingRedirects) Indicates if redirections are followed.- Parameters:
followingRedirects- True if redirections are followed.
-
setHostRef
Sets the host reference.- Parameters:
hostRef- The host reference.- See Also:
-
setHostRef
Sets the host reference using an URI string.- Parameters:
hostUri- The host URI.- See Also:
-
setLoggable
public void setLoggable(boolean loggable) Indicates if the call is loggable- Parameters:
loggable- True if the call is loggable
-
setMaxRedirects
public void setMaxRedirects(int maxRedirects) Sets the maximum number of redirections that can be automatically followed for a single call.- Parameters:
maxRedirects- The maximum number of redirections that can be automatically followed for a single call.
-
setMethod
Sets the method called.- Parameters:
method- The method called.- See Also:
-
setNext
Sets the next handler such as a Restlet or a Filter. In addition, this method will set the context of the next Restlet if it is null by passing a reference to its own context.- Parameters:
next- The next handler.
-
setOnResponse
Sets the callback invoked on response reception. If the value is not null, then the associated request will be executed asynchronously.- Parameters:
onResponseCallback- The callback invoked on response reception.
-
setOnSent
Sets the callback invoked after sending the request.- Parameters:
onSentCallback- The callback invoked after sending the request.
-
setOriginalRef
Sets the original reference requested by the client.- Parameters:
originalRef- The original reference.- See Also:
-
setProtocol
Sets the protocol used or to be used.- Parameters:
protocol- The protocol used or to be used.
-
setProxyChallengeResponse
Sets the proxy authentication response sent by a client to an origin server.- Parameters:
challengeResponse- The proxy authentication response sent by a client to an origin server.- See Also:
-
setProxyChallengeResponse
Sets the proxy authentication response sent by a client to an origin server given a scheme, identifier and secret.- Parameters:
scheme- The challenge scheme.identifier- The user identifier, such as a login name or an access key.secret- The user secret, such as a password or a secret key.
-
setRanges
Sets the ranges to return from the target resource's representation.- Parameters:
ranges- The ranges.- See Also:
-
setReference
Sets the resource's reference. If the reference is relative, it will be resolved as an absolute reference. Also, the context's base reference will be reset. Finally, the reference will be normalized to ensure a consistent handling of the call.- Parameters:
reference- The resource reference.- See Also:
-
setReference
Sets the resource's reference using an URI string. Note that the URI can be either absolute or relative to the context's base reference.- Parameters:
uri- The resource URI.- See Also:
-
setReferrerRef
Sets the referrer reference if available.- Parameters:
referrerRef- The referrer reference.- See Also:
-
setReferrerRef
Sets the referrer reference if available using an URI string.- Parameters:
referrerUri- The referrer URI.- See Also:
-
setRequestEntityBuffering
public void setRequestEntityBuffering(boolean requestEntityBuffering) Indicates if transient or unknown size response entities should be buffered after being received. This is useful to increase the chance of being able to resubmit a failed request due to network error, or to prevent chunked encoding from being used an HTTP connector.- Parameters:
requestEntityBuffering- True if transient request entities should be buffered after being received.
-
setResponseEntityBuffering
public void setResponseEntityBuffering(boolean responseEntityBuffering) Indicates if transient or unknown size response entities should be buffered after being received. This is useful to be able to systematically reuse and process a response entity several times after retrieval.- Parameters:
responseEntityBuffering- True if transient response entities should be buffered after being received.
-
setRetryAttempts
public void setRetryAttempts(int retryAttempts) Sets the number of retry attempts before reporting an error.- Parameters:
retryAttempts- The number of retry attempts before reporting an error.
-
setRetryDelay
public void setRetryDelay(long retryDelay) Sets the delay in milliseconds between two retry attempts. The default value is two seconds.- Parameters:
retryDelay- The delay in milliseconds between two retry attempts.
-
setRetryOnError
public void setRetryOnError(boolean retryOnError) Indicates if idempotent requests should be retried on error.- Parameters:
retryOnError- True if idempotent requests should be retried on error.
-
wrap
Wraps the client resource to proxy calls to the given Java interface into Restlet method calls. Use theEngineclassloader in order to generate the proxy.- Type Parameters:
T-- Parameters:
resourceInterface- The annotated resource interface class to proxy.- Returns:
- The proxy instance.
-
wrap
Wraps the client resource to proxy calls to the given Java interface into Restlet method calls.- Type Parameters:
T-- Parameters:
resourceInterface- The annotated resource interface class to proxy.classLoader- The classloader used to instantiate the dynamic proxy.- Returns:
- The proxy instance.
-