org.mule.transport.legstar.transformer
Class AbstractHostToJavaMuleTransformer

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.AbstractHostJavaMuleTransformer
                  extended by org.mule.transport.legstar.transformer.AbstractHostToJavaMuleTransformer
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

public abstract class AbstractHostToJavaMuleTransformer
extends AbstractHostJavaMuleTransformer

Author:
Fady

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
AbstractHostToJavaMuleTransformer(com.legstar.coxb.transform.AbstractTransformers bindingTransformers)
          Constructor for single part transformers.
AbstractHostToJavaMuleTransformer(List<com.legstar.coxb.transform.AbstractTransformers> bindingTransformersList, AbstractHostMuleTransformer.HolderSetter holderSetter)
          Constructor for multi-structures transformers.
AbstractHostToJavaMuleTransformer(Map<String,com.legstar.coxb.transform.AbstractTransformers> bindingTransformersMap)
          Constructor for multi-part transformers.
 
Method Summary
 Object createHolder(Map<String,Object> transformedParts)
          
 Object hostTransform(org.mule.api.MuleMessage esbMessage, String encoding)
          Specialized classes perform the actual transformation.
 Object toJava(byte[] hostBytes, String hostCharset)
          Host is sending a byte sequence so when apply either a single transformer or a list of transformers to the entire payload.
 Object toJava(List<com.legstar.coxb.transform.AbstractTransformers> transformers, byte[] hostBytes, String hostCharset)
          Host is sending a single byte sequence but multiple transformers must be applied to decode the complete byte stream.
 Object toJava(Map<String,byte[]> hostParts, String hostCharset)
          When the host is sending an multiple parts part, this code transforms each part.
 
Methods inherited from class org.mule.transport.legstar.transformer.AbstractHostJavaMuleTransformer
getBindingTransformers, getBindingTransformersList, getBindingTransformersMap
 
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.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

AbstractHostToJavaMuleTransformer

public AbstractHostToJavaMuleTransformer(com.legstar.coxb.transform.AbstractTransformers bindingTransformers)
Constructor for single part transformers.

Host to Java transformers expect byte array sources corresponding to mainframe raw data. Alternatively, source can be an inputStream in which case, it is assumed to stream a byte array. Inheriting classes will set the return class.

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

AbstractHostToJavaMuleTransformer

public AbstractHostToJavaMuleTransformer(Map<String,com.legstar.coxb.transform.AbstractTransformers> bindingTransformersMap)
Constructor for multi-part transformers.

Host to Java transformers expects a map of byte arrays for multi part payloads. Inheriting classes will set the return class.

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

AbstractHostToJavaMuleTransformer

public AbstractHostToJavaMuleTransformer(List<com.legstar.coxb.transform.AbstractTransformers> bindingTransformersList,
                                         AbstractHostMuleTransformer.HolderSetter holderSetter)
Constructor for multi-structures transformers.

Host to Java transformers expects byte array sources. Inheriting classes will set the return class.

Parameters:
bindingTransformersList - ordered list of transformers to be applied in sequence.
describes - the holder and how to set its inner objects
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.

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

toJava

public Object toJava(byte[] hostBytes,
                     String hostCharset)
              throws com.legstar.coxb.transform.HostTransformException
Host is sending a byte sequence so when apply either a single transformer or a list of transformers to the entire payload.

Parameters:
hostBytes - the byte sequence returned from the host
hostCharset - the host character set
Returns:
the java object resulting from the transformation
Throws:
com.legstar.coxb.transform.HostTransformException - if tranformation failed

toJava

public Object toJava(Map<String,byte[]> hostParts,
                     String hostCharset)
              throws org.mule.api.transformer.TransformerException
When the host is sending an multiple parts part, this code transforms each part. Each part is transformed individually then they are all wrapped in a holder object which is returned.

Parameters:
hostParts - a map of byte arrays, one for each part
hostCharset - the host character set
Returns:
a java object
Throws:
org.mule.api.transformer.TransformerException - if transformation failed

toJava

public Object toJava(List<com.legstar.coxb.transform.AbstractTransformers> transformers,
                     byte[] hostBytes,
                     String hostCharset)
              throws com.legstar.coxb.transform.HostTransformException
Host is sending a single byte sequence but multiple transformers must be applied to decode the complete byte stream.

Parameters:
transformers - ordered list of transformers that need to be applied
hostBytes - the single host bytes sequence
hostCharset - the host character set
Returns:
the java object, a holder of other java objects, that results from the complete transformation
Throws:
com.legstar.coxb.transform.HostTransformException

createHolder

public Object createHolder(Map<String,Object> transformedParts)
                    throws org.mule.api.transformer.TransformerException

Throws:
org.mule.api.transformer.TransformerException


Copyright © 2013 LegSem. All Rights Reserved.