org.mule.transport.legstar.transformer
Class AbstractXmlToHostMuleTransformer

java.lang.Object
  extended by org.mule.transformer.AbstractTransformer
      extended by org.mule.transformer.AbstractMessageTransformer
          extended by org.mule.transport.legstar.transformer.AbstractHostMuleTransformer
              extended by org.mule.transport.legstar.transformer.AbstractHostXmlMuleTransformer
                  extended by org.mule.transport.legstar.transformer.AbstractXmlToHostMuleTransformer
All Implemented Interfaces:
org.mule.api.AnnotatedObject, org.mule.api.context.MuleContextAware, org.mule.api.lifecycle.Disposable, org.mule.api.lifecycle.Initialisable, org.mule.api.NameableObject, org.mule.api.NamedObject, org.mule.api.processor.MessageProcessor, org.mule.api.transformer.MessageTransformer, org.mule.api.transformer.Transformer, org.mule.endpoint.EndpointAware, IObjectToHostTransformer

public abstract class AbstractXmlToHostMuleTransformer
extends AbstractHostXmlMuleTransformer
implements IObjectToHostTransformer

This ESB transformer converts XML into host data using the regular LegStar binding transformers.


Nested Class Summary
 
Nested classes/interfaces inherited from class org.mule.transport.legstar.transformer.AbstractHostMuleTransformer
AbstractHostMuleTransformer.HolderGetter, AbstractHostMuleTransformer.HolderSetter
 
Field Summary
 
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.Initialisable
PHASE_NAME
 
Fields inherited from interface org.mule.api.lifecycle.Disposable
PHASE_NAME
 
Fields inherited from interface org.mule.api.AnnotatedObject
PROPERTY_NAME
 
Constructor Summary
AbstractXmlToHostMuleTransformer(com.legstar.coxb.transform.AbstractXmlTransformers xmlBindingTransformers)
          Constructor for single part transformers.
AbstractXmlToHostMuleTransformer(List<com.legstar.coxb.transform.AbstractTransformers> bindingTransformersList, AbstractHostMuleTransformer.HolderGetter holderGetter)
          Constructor for multiple structures transformers.
AbstractXmlToHostMuleTransformer(Map<String,com.legstar.coxb.transform.AbstractXmlTransformers> xmlBindingTransformersMap)
          Constructor for multi-part transformers.
 
Method Summary
 Document getDocument(Object payload)
           
 Source getXmlFragmentFromHolder(Document holderDoc, String partID)
          When a holder XML for multi part payload needs to be turned into host data, we need to associate inner XML nodes with part IDs.
 InputSource getXmlInputSource(Object payload)
          Return the payload wrapped as a org.xml.sax.InputSource.
 Source getXmlSource(Object payload)
          Return the payload wrapped as a javax.xml.transform.Source.
 Object hostTransform(org.mule.api.MuleMessage esbMessage, String encoding)
          Specialized classes perform the actual transformation.
 
Methods inherited from class org.mule.transport.legstar.transformer.AbstractHostXmlMuleTransformer
getBindingTransformersList, getXmlBindingTransformers, getXmlBindingTransformersMap
 
Methods inherited from class org.mule.transport.legstar.transformer.AbstractHostMuleTransformer
getHostCharset, getHostCharset, getI18NMessages, setHostCharset, transformMessage
 
Methods inherited from class org.mule.transformer.AbstractMessageTransformer
checkReturnClass, doTransform, isSourceDataTypeSupported, transform, transform, transform
 
Methods inherited from class org.mule.transformer.AbstractTransformer
dispose, generateTransformerName, getAnnotation, getAnnotations, getEncoding, getEncoding, getEndpoint, getMimeType, getName, getReturnClass, getReturnDataType, getSourceDataTypes, getSourceTypes, initialise, isAcceptNull, isAllowNullReturn, isConsumed, isIgnoreBadInput, isSourceDataTypeSupported, isSourceTypeSupported, isSourceTypeSupported, process, registerSourceType, registerSourceType, setAllowNullReturn, setAnnotations, setEncoding, setEndpoint, setIgnoreBadInput, setMimeType, setMuleContext, setName, setReturnClass, setReturnDataType, toString, transform, unregisterSourceType, unregisterSourceType
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.mule.transport.legstar.transformer.IObjectToHostTransformer
transformMessage
 
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.lifecycle.Initialisable
initialise
 
Methods inherited from interface org.mule.api.lifecycle.Disposable
dispose
 
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
 

Constructor Detail

AbstractXmlToHostMuleTransformer

public AbstractXmlToHostMuleTransformer(com.legstar.coxb.transform.AbstractXmlTransformers xmlBindingTransformers)
Constructor for single part transformers.

Xml to Host transformers expect String or byte[] input and produces a byte array corresponding to mainframe raw data.

Parameters:
xmlBindingTransformers - a set of transformers for the part type.

AbstractXmlToHostMuleTransformer

public AbstractXmlToHostMuleTransformer(Map<String,com.legstar.coxb.transform.AbstractXmlTransformers> xmlBindingTransformersMap)
Constructor for multi-part transformers.

Xml to Host transformers expect a String or byte[] as input and produces a a map of byte arrays, one for each mainframe payload part.

Parameters:
xmlBindingTransformersMap - map of transformer sets, one for each part type.

AbstractXmlToHostMuleTransformer

public AbstractXmlToHostMuleTransformer(List<com.legstar.coxb.transform.AbstractTransformers> bindingTransformersList,
                                        AbstractHostMuleTransformer.HolderGetter holderGetter)
Constructor for multiple structures transformers.

Xml to Host transformers expect String or byte[] input and produces a byte array corresponding to mainframe raw data.

Parameters:
bindingTransformersList - ordered list of transformers to be applied in sequence.
holderGetter - Provides a way to get inner objects from a Holder
Method Detail

hostTransform

public Object hostTransform(org.mule.api.MuleMessage esbMessage,
                            String encoding)
                     throws org.mule.api.transformer.TransformerException
Specialized classes perform the actual transformation. The nature of the binding transformers passed by inherited class determines if this is a multi part transformer or not.

Specified by:
hostTransform in class AbstractHostMuleTransformer
Parameters:
esbMessage - the Mule message
encoding - the payload encoding
Returns:
the transformed payload
Throws:
org.mule.api.transformer.TransformerException - if transform fails

getXmlSource

public Source getXmlSource(Object payload)
                    throws org.mule.api.transformer.TransformerException
Return the payload wrapped as a javax.xml.transform.Source.

Parameters:
payload - the esb message payload
Returns:
an XML source
Throws:
org.mule.api.transformer.TransformerException - if esb message payload is not an XML source

getXmlInputSource

public InputSource getXmlInputSource(Object payload)
                              throws org.mule.api.transformer.TransformerException
Return the payload wrapped as a org.xml.sax.InputSource.

Parameters:
payload - the esb message payload
Returns:
an XML InputSource
Throws:
org.mule.api.transformer.TransformerException - if esb message payload is not an XML source

getDocument

public Document getDocument(Object payload)
                     throws org.mule.api.transformer.TransformerException
Parameters:
payload - the ESB message payload
Returns:
the esb message payload as a DOM document
Throws:
org.mule.api.transformer.TransformerException - if payload is not XML

getXmlFragmentFromHolder

public Source getXmlFragmentFromHolder(Document holderDoc,
                                       String partID)
                                throws org.mule.api.transformer.TransformerException
When a holder XML for multi part payload needs to be turned into host data, we need to associate inner XML nodes with part IDs. TODO This assumes node local names are identical to part IDs

Parameters:
holderDoc - holder XML document
partID - the part identifier or container name
Returns:
a holder object
Throws:
org.mule.api.transformer.TransformerException - if creating holder fails


Copyright © 2013 LegSem. All Rights Reserved.