Class XsltPayloadTransformer
java.lang.Object
org.springframework.integration.context.IntegrationObjectSupport
org.springframework.integration.transformer.AbstractTransformer
org.springframework.integration.xml.transformer.AbstractXmlTransformer
org.springframework.integration.xml.transformer.XsltPayloadTransformer
- All Implemented Interfaces:
org.springframework.beans.factory.Aware,org.springframework.beans.factory.BeanClassLoaderAware,org.springframework.beans.factory.BeanFactoryAware,org.springframework.beans.factory.BeanNameAware,org.springframework.beans.factory.InitializingBean,org.springframework.context.ApplicationContextAware,org.springframework.integration.context.ExpressionCapable,org.springframework.integration.support.context.NamedComponent,org.springframework.integration.transformer.GenericTransformer<org.springframework.messaging.Message<?>,org.springframework.messaging.Message<?>>,org.springframework.integration.transformer.Transformer
public class XsltPayloadTransformer extends AbstractXmlTransformer implements org.springframework.beans.factory.BeanClassLoaderAware
Thread safe XSLT transformer implementation which returns a transformed
Source, Document, or String. If
alwaysUseSourceResultFactories is false (default) the following logic occurs
String payload in results in String payload out
Document payload in results in Document payload out
Source payload in results in Result payload out, type will be
determined by the ResultFactory,
DomResultFactory by default.
If an instance of ResultTransformer is registered this will be used
to convert the result.
If alwaysUseSourceResultFactories is true then the ResultFactory and
SourceFactory will be used to create the Source from the
payload and the Result to pass into the transformer. An instance of
ResultTransformer can also be provided to convert the Result prior to
returning.
-
Field Summary
Fields inherited from class org.springframework.integration.xml.transformer.AbstractXmlTransformer
DOM_RESULT, STRING_RESULT -
Constructor Summary
Constructors Constructor Description XsltPayloadTransformer(javax.xml.transform.Templates templates)XsltPayloadTransformer(javax.xml.transform.Templates templates, ResultTransformer resultTransformer)XsltPayloadTransformer(org.springframework.core.io.Resource xslResource)XsltPayloadTransformer(org.springframework.core.io.Resource xslResource, java.lang.String transformerFactoryClassName)XsltPayloadTransformer(org.springframework.core.io.Resource xslResource, ResultTransformer resultTransformer)XsltPayloadTransformer(org.springframework.core.io.Resource xslResource, ResultTransformer resultTransformer, java.lang.String transformerFactoryClassName) -
Method Summary
Modifier and Type Method Description protected java.lang.ObjectdoTransform(org.springframework.messaging.Message<?> message)java.lang.StringgetComponentType()protected voidonInit()voidsetAlwaysUseResultFactory(boolean alwaysUseResultFactory)Specify whether to always use result factory even for directly supported payload typesvoidsetAlwaysUseSourceFactory(boolean alwaysUseSourceFactory)Specify whether to always use source factory even for directly supported payload types.voidsetBeanClassLoader(java.lang.ClassLoader classLoader)voidsetResultFactory(ResultFactory resultFactory)Sets the ResultFactory.voidsetResultFactoryName(java.lang.String resultFactoryName)voidsetResultType(java.lang.String resultType)voidsetSourceFactory(SourceFactory sourceFactory)Sets the SourceFactory.voidsetXslParameterMappings(java.util.Map<java.lang.String,org.springframework.expression.Expression> xslParameterMappings)voidsetXsltParamHeaders(java.lang.String... xsltParamHeaders)Methods inherited from class org.springframework.integration.xml.transformer.AbstractXmlTransformer
getResultFactory, getResultFactoryName, getResultTypeMethods inherited from class org.springframework.integration.transformer.AbstractTransformer
transformMethods inherited from class org.springframework.integration.context.IntegrationObjectSupport
afterPropertiesSet, extractTypeIfPossible, generateId, getApplicationContext, getApplicationContextId, getBeanDescription, getBeanFactory, getBeanName, getChannelResolver, getComponentName, getConversionService, getExpression, getIntegrationProperties, getIntegrationProperty, getMessageBuilderFactory, getTaskScheduler, isInitialized, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentName, setConversionService, setMessageBuilderFactory, setPrimaryExpression, setTaskScheduler, toString
-
Constructor Details
-
XsltPayloadTransformer
public XsltPayloadTransformer(javax.xml.transform.Templates templates) -
XsltPayloadTransformer
public XsltPayloadTransformer(javax.xml.transform.Templates templates, ResultTransformer resultTransformer) -
XsltPayloadTransformer
public XsltPayloadTransformer(org.springframework.core.io.Resource xslResource) -
XsltPayloadTransformer
public XsltPayloadTransformer(org.springframework.core.io.Resource xslResource, ResultTransformer resultTransformer) -
XsltPayloadTransformer
public XsltPayloadTransformer(org.springframework.core.io.Resource xslResource, java.lang.String transformerFactoryClassName) -
XsltPayloadTransformer
public XsltPayloadTransformer(org.springframework.core.io.Resource xslResource, ResultTransformer resultTransformer, java.lang.String transformerFactoryClassName)
-
-
Method Details
-
setSourceFactory
Sets the SourceFactory.- Parameters:
sourceFactory- The source factory.
-
setResultFactory
Sets the ResultFactory.- Overrides:
setResultFactoryin classAbstractXmlTransformer- Parameters:
resultFactory- The result factory.
-
setAlwaysUseSourceFactory
public void setAlwaysUseSourceFactory(boolean alwaysUseSourceFactory)Specify whether to always use source factory even for directly supported payload types.- Parameters:
alwaysUseSourceFactory- true to always use the source factory.
-
setAlwaysUseResultFactory
public void setAlwaysUseResultFactory(boolean alwaysUseResultFactory)Specify whether to always use result factory even for directly supported payload types- Parameters:
alwaysUseResultFactory- true to always use the result factory.
-
setXslParameterMappings
public void setXslParameterMappings(java.util.Map<java.lang.String,org.springframework.expression.Expression> xslParameterMappings) -
setXsltParamHeaders
public void setXsltParamHeaders(java.lang.String... xsltParamHeaders) -
setBeanClassLoader
public void setBeanClassLoader(java.lang.ClassLoader classLoader)- Specified by:
setBeanClassLoaderin interfaceorg.springframework.beans.factory.BeanClassLoaderAware
-
setResultType
public void setResultType(java.lang.String resultType)- Overrides:
setResultTypein classAbstractXmlTransformer
-
setResultFactoryName
public void setResultFactoryName(java.lang.String resultFactoryName)- Overrides:
setResultFactoryNamein classAbstractXmlTransformer
-
getComponentType
public java.lang.String getComponentType()- Specified by:
getComponentTypein interfaceorg.springframework.integration.support.context.NamedComponent- Overrides:
getComponentTypein classorg.springframework.integration.context.IntegrationObjectSupport
-
onInit
protected void onInit()- Overrides:
onInitin classAbstractXmlTransformer
-
doTransform
protected java.lang.Object doTransform(org.springframework.messaging.Message<?> message)- Specified by:
doTransformin classorg.springframework.integration.transformer.AbstractTransformer
-