|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.mule.transformer.AbstractTransformer org.mule.transformer.AbstractMessageTransformer org.mule.module.xml.transformer.AbstractXmlTransformer org.mule.module.xml.transformer.XQueryTransformer
public class XQueryTransformer
The XQuery Module gives users the ability to perform XQuery transformations on XML messages in Mule
Nested Class Summary | |
---|---|
protected class |
XQueryTransformer.PooledXQueryTransformerFactory
|
Nested classes/interfaces inherited from class org.mule.module.xml.transformer.AbstractXmlTransformer |
---|
AbstractXmlTransformer.ResultHolder |
Field Summary | |
---|---|
protected net.sf.saxon.Configuration |
configuration
|
static String |
SOURCE_DOCUMENT_NAMESPACE
|
protected org.apache.commons.pool.impl.GenericObjectPool |
transformerPool
|
Fields inherited from class org.mule.transformer.AbstractTransformer |
---|
encoding, endpoint, logger, mimeType, MULE_MESSAGE_DATA_TYPE, muleContext, name, returnType, sourceTypes |
Fields inherited from interface org.mule.api.lifecycle.Disposable |
---|
PHASE_NAME |
Fields inherited from interface org.mule.api.lifecycle.Initialisable |
---|
PHASE_NAME |
Fields inherited from interface org.mule.api.AnnotatedObject |
---|
PROPERTY_NAME |
Constructor Summary | |
---|---|
XQueryTransformer()
|
|
XQueryTransformer(String xqueryFile)
|
Method Summary | |
---|---|
protected void |
bindDocument(Object src,
javax.xml.xquery.XQPreparedExpression transformer)
Returns the InputSource corresponding to xqueryFile or xquery |
protected void |
bindParameters(javax.xml.xquery.XQPreparedExpression transformer,
MuleMessage message)
|
Object |
clone()
|
void |
dispose()
Template method where deriving classes can do any clean up any resources or state before the object is disposed. |
protected Object |
evaluateTransformParameter(String name,
Object value,
MuleMessage message)
Returns the value to be set for the parameter. |
net.sf.saxon.Configuration |
getConfiguration()
|
Map<String,Object> |
getContextProperties()
Gets the parameters to be used when applying the transformation |
int |
getMaxActiveTransformers()
|
int |
getMaxIdleTransformers()
|
String |
getXquery()
|
String |
getXqueryFile()
|
void |
initialise()
Template method where deriving classes can do any initialisation after the properties have been set on this transformer |
void |
setConfiguration(net.sf.saxon.Configuration configuration)
|
void |
setContextProperties(Map<String,Object> contextProperties)
Sets the parameters to be used when applying the transformation |
void |
setMaxActiveTransformers(int maxActiveTransformers)
Sets the the current maximum number of active transformer objects allowed in the pool |
void |
setMaxIdleTransformers(int maxIdleTransformers)
Sets the the current maximum number of idle transformer objects allowed in the pool |
void |
setXquery(String xquery)
|
void |
setXqueryFile(String xqueryFile)
|
Object |
transformMessage(MuleMessage message,
String outputEncoding)
Transform the message |
protected void |
unbindParameters(javax.xml.xquery.XQPreparedExpression transformer)
Removes any parameter bindings from the transformer, replacing them with empty strings |
Methods inherited from class org.mule.module.xml.transformer.AbstractXmlTransformer |
---|
convertToBytes, convertToText, convertToText, getOutputEncoding, getResultHolder, getXMLInputFactory, getXMLOutputFactory, isUseStaxSource, setOutputEncoding, setUseStaxSource, setXMLInputFactory, setXMLOutputFactory, writeToStream |
Methods inherited from class org.mule.transformer.AbstractMessageTransformer |
---|
checkReturnClass, doTransform, isSourceDataTypeSupported, transform, transform, transform |
Methods inherited from class java.lang.Object |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface org.mule.api.transformer.Transformer |
---|
getEncoding, getEndpoint, getMimeType, getReturnClass, getReturnDataType, getSourceDataTypes, getSourceTypes, isAcceptNull, isIgnoreBadInput, isSourceDataTypeSupported, isSourceTypeSupported, setReturnClass, setReturnDataType, transform |
Methods inherited from interface org.mule.api.processor.MessageProcessor |
---|
process |
Methods inherited from interface org.mule.api.NameableObject |
---|
setName |
Methods inherited from interface org.mule.api.NamedObject |
---|
getName |
Methods inherited from interface org.mule.api.context.MuleContextAware |
---|
setMuleContext |
Methods inherited from interface org.mule.endpoint.EndpointAware |
---|
setEndpoint |
Field Detail |
---|
public static final String SOURCE_DOCUMENT_NAMESPACE
protected final org.apache.commons.pool.impl.GenericObjectPool transformerPool
protected net.sf.saxon.Configuration configuration
Constructor Detail |
---|
public XQueryTransformer()
public XQueryTransformer(String xqueryFile)
Method Detail |
---|
public void initialise() throws InitialisationException
AbstractTransformer
initialise
in interface Initialisable
initialise
in class AbstractTransformer
InitialisationException
- if a fatal error occurs causing the Mule instance to shutdown
RecoverableException
- if an error occurs that can be recovered frompublic void dispose()
AbstractTransformer
dispose
in interface Disposable
dispose
in class AbstractTransformer
public Object transformMessage(MuleMessage message, String outputEncoding) throws TransformerException
AbstractMessageTransformer
transformMessage
in class AbstractMessageTransformer
TransformerException
protected void bindParameters(javax.xml.xquery.XQPreparedExpression transformer, MuleMessage message) throws javax.xml.xquery.XQException, TransformerException
javax.xml.xquery.XQException
TransformerException
protected void unbindParameters(javax.xml.xquery.XQPreparedExpression transformer) throws javax.xml.xquery.XQException
transformer
- the transformer to remove properties from
javax.xml.xquery.XQException
protected void bindDocument(Object src, javax.xml.xquery.XQPreparedExpression transformer) throws Exception
src
- transformer
-
javax.xml.xquery.XQException
Exception
public net.sf.saxon.Configuration getConfiguration()
public void setConfiguration(net.sf.saxon.Configuration configuration)
public String getXqueryFile()
public void setXqueryFile(String xqueryFile)
xqueryFile
- The xqueryFile to set.public String getXquery()
public void setXquery(String xquery)
public int getMaxActiveTransformers()
public void setMaxActiveTransformers(int maxActiveTransformers)
maxActiveTransformers
- New maximum size to setpublic int getMaxIdleTransformers()
public void setMaxIdleTransformers(int maxIdleTransformers)
maxIdleTransformers
- New maximum size to setpublic Map<String,Object> getContextProperties()
Transformer.setParameter(java.lang.String,
java.lang.Object)
public void setContextProperties(Map<String,Object> contextProperties)
contextProperties
- a map of the parameter names and associated valuesTransformer.setParameter(java.lang.String,
java.lang.Object)
protected Object evaluateTransformParameter(String name, Object value, MuleMessage message) throws TransformerException
Returns the value to be set for the parameter. This method is called for each parameter before it is set on the transformer. The purpose of this method is to allow dynamic parameters related to the event (usually message properties) to be used. Any expression using the Mule expression syntax can be used.
For example: If the current event's message has a property named "myproperty", to pass this in you would set the transform parameter's value to be "#[mule.message:header(myproperty)]".
This method may be overloaded by a sub class to provide a different dynamic parameter implementation.
name
- the name of the parametervalue
- the value of the paramter
TransformerException
public Object clone() throws CloneNotSupportedException
clone
in class Object
CloneNotSupportedException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |