org.jboss.soa.esb.smooks.splitting
Class FileStreamSplitter<T extends java.io.File>

java.lang.Object
  extended by org.jboss.soa.esb.smooks.splitting.AbstractStreamSplitter
      extended by org.jboss.soa.esb.smooks.splitting.FileStreamSplitter<T>
All Implemented Interfaces:
Configurable, MessageComposer<T>

public class FileStreamSplitter<T extends java.io.File>
extends AbstractStreamSplitter
implements MessageComposer<T>

File stream splitting message composer.

This composer only sets the file name as the message payload. It splits the message out, so the source message is transformed into n+ messages that are consumed by other service pipelines (i.e. not this service)...

Author:
tom.fennelly@jboss.com

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.jboss.soa.esb.listeners.message.MessageComposer
MessageComposer.Factory
 
Field Summary
 
Fields inherited from class org.jboss.soa.esb.smooks.splitting.AbstractStreamSplitter
smooks
 
Constructor Summary
FileStreamSplitter()
           
 
Method Summary
 Message compose(T inputFile)
          Compose an ESB "aware" message from the supplied message payload.
 java.lang.Object decompose(Message message, T inputFile)
          Decompose an ESB "aware" message, extracting and returning the message payload.
 
Methods inherited from class org.jboss.soa.esb.smooks.splitting.AbstractStreamSplitter
setConfiguration, split, split
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.jboss.soa.esb.listeners.message.MessageComposer
setConfiguration
 

Constructor Detail

FileStreamSplitter

public FileStreamSplitter()
Method Detail

compose

public Message compose(T inputFile)
                throws MessageDeliverException
Description copied from interface: MessageComposer
Compose an ESB "aware" message from the supplied message payload.

Implementations need to construct and populate an ESB Message from the messagePayload instance.

Specified by:
compose in interface MessageComposer<T extends java.io.File>
Parameters:
inputFile - Message payload to be packaged, or a channel specific container class for the message payload (e.g. a JMS message).
Returns:
ESB aware message instance.
Throws:
MessageDeliverException - Failed to compose message payload for delivery.

decompose

public java.lang.Object decompose(Message message,
                                  T inputFile)
                           throws MessageDeliverException
Description copied from interface: MessageComposer
Decompose an ESB "aware" message, extracting and returning the message payload.

Specified by:
decompose in interface MessageComposer<T extends java.io.File>
Parameters:
message - ESB aware message instance to be decomposed.
inputFile - The original input message payload used to compose this (or ther original) message. The original message can sometimes contain information relevant during the decomposition process. Whether or not this parameter can be null depends on the MessageComposer implementation.
Returns:
ESB unaware message instance - a message payload.
Throws:
MessageDeliverException - Failed to decompose message payload.