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

    Fields inherited from class org.springframework.integration.context.IntegrationObjectSupport

    EXPRESSION_PARSER, logger
  • 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.Object doTransform​(org.springframework.messaging.Message<?> message)  
    java.lang.String getComponentType()  
    protected void onInit()  
    void setAlwaysUseResultFactory​(boolean alwaysUseResultFactory)
    Specify whether to always use result factory even for directly supported payload types
    void setAlwaysUseSourceFactory​(boolean alwaysUseSourceFactory)
    Specify whether to always use source factory even for directly supported payload types.
    void setBeanClassLoader​(java.lang.ClassLoader classLoader)  
    void setResultFactory​(ResultFactory resultFactory)
    Sets the ResultFactory.
    void setResultFactoryName​(java.lang.String resultFactoryName)  
    void setResultType​(java.lang.String resultType)  
    void setSourceFactory​(SourceFactory sourceFactory)
    Sets the SourceFactory.
    void setXslParameterMappings​(java.util.Map<java.lang.String,​org.springframework.expression.Expression> xslParameterMappings)  
    void setXsltParamHeaders​(java.lang.String... xsltParamHeaders)  

    Methods inherited from class org.springframework.integration.xml.transformer.AbstractXmlTransformer

    getResultFactory, getResultFactoryName, getResultType

    Methods inherited from class org.springframework.integration.transformer.AbstractTransformer

    transform

    Methods 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

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Constructor Details

  • Method Details

    • setSourceFactory

      public void setSourceFactory​(SourceFactory sourceFactory)
      Sets the SourceFactory.
      Parameters:
      sourceFactory - The source factory.
    • setResultFactory

      public void setResultFactory​(ResultFactory resultFactory)
      Sets the ResultFactory.
      Overrides:
      setResultFactory in class AbstractXmlTransformer
      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:
      setBeanClassLoader in interface org.springframework.beans.factory.BeanClassLoaderAware
    • setResultType

      public void setResultType​(java.lang.String resultType)
      Overrides:
      setResultType in class AbstractXmlTransformer
    • setResultFactoryName

      public void setResultFactoryName​(java.lang.String resultFactoryName)
      Overrides:
      setResultFactoryName in class AbstractXmlTransformer
    • getComponentType

      public java.lang.String getComponentType()
      Specified by:
      getComponentType in interface org.springframework.integration.support.context.NamedComponent
      Overrides:
      getComponentType in class org.springframework.integration.context.IntegrationObjectSupport
    • onInit

      protected void onInit()
      Overrides:
      onInit in class AbstractXmlTransformer
    • doTransform

      protected java.lang.Object doTransform​(org.springframework.messaging.Message<?> message)
      Specified by:
      doTransform in class org.springframework.integration.transformer.AbstractTransformer