Package org.restlet.engine.application
Class Encoder
java.lang.Object
org.restlet.Restlet
org.restlet.routing.Filter
org.restlet.engine.application.Encoder
- All Implemented Interfaces:
Uniform
Filter compressing entities. The best encoding is automatically selected
based on the preferences of the client and on the encoding supported by NRE:
GZip, Zip and Deflate.
If the
If the
Representation has an unknown size,
it will always be a candidate for encoding. Candidate representations need to
respect media type criteria by the lists of accepted and ignored media types.
Concurrency note: instances of this class or its subclasses can be invoked by
several threads at the same time and therefore must be thread-safe. You
should be especially careful when storing state in member variables.- Author:
- Lars Heuer, Jerome Louvel
-
Field Summary
-
Constructor Summary
ConstructorsConstructorDescriptionEncoder(Context context, boolean encodingRequest, boolean encodingResponse, EncoderService encoderService) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionvoidafterHandle(Request request, Response response) Allows filtering after its handling by the target Restlet.intbeforeHandle(Request request, Response response) Allows filtering before its handling by the target Restlet.encode(ClientInfo client, Representation representation) Encodes a given representation if an encoding is supported by the client.getBestEncoding(ClientInfo client) Returns the best supported encoding for a given client.Returns the parent encoder service.Returns the list of supported encodings.booleanIndicates if the request entity should be encoded.booleanIndicates if the response entity should be encoded.Methods inherited from class org.restlet.routing.Filter
doHandle, getNext, handle, hasNext, setNext, setNext, start, stopMethods inherited from class org.restlet.Restlet
createFinder, finalize, getApplication, getAuthor, getContext, getDescription, getFinderClass, getLogger, getName, getOwner, handle, handle, handle, isStarted, isStopped, setAuthor, setContext, setDescription, setFinderClass, setName, setOwner
-
Constructor Details
-
Encoder
public Encoder(Context context, boolean encodingRequest, boolean encodingResponse, EncoderService encoderService) Constructor.- Parameters:
context- The context.encodingRequest- Indicates if the request entities should be encoded.encodingResponse- Indicates if the response entities should be encoded.encoderService- The parent encoder service.
-
-
Method Details
-
afterHandle
Allows filtering after its handling by the target Restlet. Does nothing by default.- Overrides:
afterHandlein classFilter- Parameters:
request- The request to filter.response- The response to filter.
-
beforeHandle
Allows filtering before its handling by the target Restlet. Does nothing by default.- Overrides:
beforeHandlein classFilter- Parameters:
request- The request to filter.response- The response to filter.- Returns:
- The continuation status.
-
encode
Encodes a given representation if an encoding is supported by the client.- Parameters:
client- The client preferences to use.representation- The representation to encode.- Returns:
- The encoded representation or the original one if no encoding supported by the client.
-
getBestEncoding
Returns the best supported encoding for a given client.- Parameters:
client- The client preferences to use.- Returns:
- The best supported encoding for the given call.
-
getEncoderService
Returns the parent encoder service.- Returns:
- The parent encoder service.
-
getSupportedEncodings
Returns the list of supported encodings. By default it callsEncodeRepresentation.getSupportedEncodings()static method.- Returns:
- The list of supported encodings.
-
isEncodingRequest
public boolean isEncodingRequest()Indicates if the request entity should be encoded.- Returns:
- True if the request entity should be encoded.
-
isEncodingResponse
public boolean isEncodingResponse()Indicates if the response entity should be encoded.- Returns:
- True if the response entity should be encoded.
-