Package org.restlet.ext.xml
Class Transformer
- java.lang.Object
-
- org.restlet.Restlet
-
- org.restlet.routing.Filter
-
- org.restlet.ext.xml.Transformer
-
- All Implemented Interfaces:
Uniform
public class Transformer extends Filter
Filter that can transform XML representations by applying an XSLT transform sheet. It uses theorg.restlet.representation.TransformRepresentationto actually transform the XML entities.
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.
-
-
Field Summary
Fields Modifier and Type Field Description private intmodeThe transformation mode.static intMODE_REQUESTMode that transforms request entities before their handling by the attached Restlet.static intMODE_RESPONSEMode that transforms response entities after their handling by the attached Restlet.private CharacterSetresultCharacterSetThe character set of the result representation.private java.util.List<Encoding>resultEncodingsThe encodings of the result representation.private java.util.List<Language>resultLanguagesThe languages of the result representation.private MediaTyperesultMediaTypeThe media type of the result representation.private RepresentationtransformSheetThe XSLT transform sheet to apply to message entities.
-
Constructor Summary
Constructors Constructor Description Transformer(int mode, Representation transformSheet)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidafterHandle(Request request, Response response)Allows filtering after processing by the next Restlet.protected intbeforeHandle(Request request, Response response)Allows filtering before processing by the next Restlet.protected booleancanTransform(Representation representation)Indicates if the filter can transform the given message entity.intgetMode()Returns the transformation mode.CharacterSetgetResultCharacterSet()Returns the character set of the result representation.java.util.List<Encoding>getResultEncodings()Returns the modifiable list of encodings of the result representation.java.util.List<Language>getResultLanguages()Returns the modifiable list of languages of the result representation.MediaTypegetResultMediaType()Returns the media type of the result representation.RepresentationgetTransformSheet()Returns the XSLT transform sheet to apply to message entities.voidsetMode(int mode)Sets the transformation mode.voidsetResultCharacterSet(CharacterSet resultCharacterSet)Sets the character set of the result representation.voidsetResultEncodings(java.util.List<Encoding> resultEncodings)Sets the encodings of the result representation.voidsetResultLanguages(java.util.List<Language> resultLanguages)Sets the languages of the result representation.voidsetResultMediaType(MediaType resultMediaType)Sets the media type of the result representation.voidsetTransformSheet(Representation transformSheet)Sets the XSLT transform sheet to apply to message entities.Representationtransform(Representation source)Transforms a source XML representation by applying an XSLT transform sheet to it.-
Methods inherited from class org.restlet.routing.Filter
doHandle, getNext, handle, hasNext, setNext, setNext, start, stop
-
Methods 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
-
-
-
-
Field Detail
-
MODE_REQUEST
public static final int MODE_REQUEST
Mode that transforms request entities before their handling by the attached Restlet.- See Also:
- Constant Field Values
-
MODE_RESPONSE
public static final int MODE_RESPONSE
Mode that transforms response entities after their handling by the attached Restlet.- See Also:
- Constant Field Values
-
mode
private volatile int mode
The transformation mode.
-
resultCharacterSet
private volatile CharacterSet resultCharacterSet
The character set of the result representation. The default value is null.
-
resultEncodings
private volatile java.util.List<Encoding> resultEncodings
The encodings of the result representation.
-
resultLanguages
private volatile java.util.List<Language> resultLanguages
The languages of the result representation.
-
resultMediaType
private volatile MediaType resultMediaType
The media type of the result representation. MediaType.APPLICATION_XML by default.
-
transformSheet
private volatile Representation transformSheet
The XSLT transform sheet to apply to message entities.
-
-
Constructor Detail
-
Transformer
public Transformer(int mode, Representation transformSheet)Constructor.- Parameters:
mode- The transformation mode.transformSheet- The XSLT transform sheet to apply to message entities.
-
-
Method Detail
-
afterHandle
protected void afterHandle(Request request, Response response)
Description copied from class:FilterAllows filtering after processing by the next Restlet. Does nothing by default.- Overrides:
afterHandlein classFilter- Parameters:
request- The request to handle.response- The response to update.
-
beforeHandle
protected int beforeHandle(Request request, Response response)
Description copied from class:FilterAllows filtering before processing by the next Restlet. ReturnsFilter.CONTINUEby default.- Overrides:
beforeHandlein classFilter- Parameters:
request- The request to handle.response- The response to update.- Returns:
- The continuation status. Either
Filter.CONTINUEorFilter.SKIPorFilter.STOP.
-
canTransform
protected boolean canTransform(Representation representation)
Indicates if the filter can transform the given message entity. By default, it always returns true.- Parameters:
representation- The entity representation to test.- Returns:
- True if the transformation can be applied.
-
getMode
public int getMode()
Returns the transformation mode. See MODE_* constants.- Returns:
- The transformation mode.
-
getResultCharacterSet
public CharacterSet getResultCharacterSet()
Returns the character set of the result representation. The default value is null.- Returns:
- The character set of the result representation.
-
getResultEncodings
public java.util.List<Encoding> getResultEncodings()
Returns the modifiable list of encodings of the result representation.- Returns:
- The encoding of the result representation.
-
getResultLanguages
public java.util.List<Language> getResultLanguages()
Returns the modifiable list of languages of the result representation.- Returns:
- The language of the result representation.
-
getResultMediaType
public MediaType getResultMediaType()
Returns the media type of the result representation. The default value is MediaType.APPLICATION_XML.- Returns:
- The media type of the result representation.
-
getTransformSheet
public Representation getTransformSheet()
Returns the XSLT transform sheet to apply to message entities.- Returns:
- The XSLT transform sheet to apply to message entities.
-
setMode
public void setMode(int mode)
Sets the transformation mode. See MODE_* constants.- Parameters:
mode- The transformation mode.
-
setResultCharacterSet
public void setResultCharacterSet(CharacterSet resultCharacterSet)
Sets the character set of the result representation.- Parameters:
resultCharacterSet- The character set of the result representation.
-
setResultEncodings
public void setResultEncodings(java.util.List<Encoding> resultEncodings)
Sets the encodings of the result representation.- Parameters:
resultEncodings- The encodings of the result representation.
-
setResultLanguages
public void setResultLanguages(java.util.List<Language> resultLanguages)
Sets the languages of the result representation.- Parameters:
resultLanguages- The languages of the result representation.
-
setResultMediaType
public void setResultMediaType(MediaType resultMediaType)
Sets the media type of the result representation.- Parameters:
resultMediaType- The media type of the result representation.
-
setTransformSheet
public void setTransformSheet(Representation transformSheet)
Sets the XSLT transform sheet to apply to message entities.- Parameters:
transformSheet- The XSLT transform sheet to apply to message entities.
-
transform
public Representation transform(Representation source)
Transforms a source XML representation by applying an XSLT transform sheet to it.- Parameters:
source- The source XML representation.- Returns:
- The generated result representation.
-
-