org.mule.routing.outbound
Class ExpressionMessageSplitter

java.lang.Object
  extended by org.mule.processor.AbstractMuleObjectOwner<MessageProcessor>
      extended by org.mule.processor.AbstractMessageProcessorOwner
          extended by org.mule.routing.outbound.AbstractOutboundRouter
              extended by org.mule.routing.outbound.FilteringOutboundRouter
                  extended by org.mule.routing.outbound.AbstractMessageSplitter
                      extended by org.mule.routing.outbound.AbstractRoundRobinMessageSplitter
                          extended by org.mule.routing.outbound.ExpressionMessageSplitter
All Implemented Interfaces:
AnnotatedObject, FlowConstructAware, MuleContextAware, Disposable, Initialisable, Lifecycle, Startable, Stoppable, MessageProcessor, MessageProcessorContainer, MessageRouter, Matchable, MatchableMessageProcessor, MatchableMessageRouter, OutboundRouter, RouterStatisticsRecorder, TransformingMatchable

public class ExpressionMessageSplitter
extends AbstractRoundRobinMessageSplitter

Evaluates a single expression and adds the results of the expression as individual message parts.


Field Summary
protected  ExpressionConfig config
           
 
Fields inherited from class org.mule.routing.outbound.FilteringOutboundRouter
expressionManager
 
Fields inherited from class org.mule.routing.outbound.AbstractOutboundRouter
enableCorrelation, initialised, logger, replyTo, resultsHandler, routes, started, transactionConfig
 
Fields inherited from class org.mule.processor.AbstractMuleObjectOwner
flowConstruct, muleContext
 
Fields inherited from interface org.mule.api.lifecycle.Initialisable
PHASE_NAME
 
Fields inherited from interface org.mule.api.lifecycle.Startable
PHASE_NAME
 
Fields inherited from interface org.mule.api.lifecycle.Stoppable
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
ExpressionMessageSplitter()
           
ExpressionMessageSplitter(ExpressionConfig config)
           
 
Method Summary
 String getCustomEvaluator()
           
 String getEvaluator()
           
 String getExpression()
           
 void initialise()
          Method used to perform any initialisation work.
 void setCustomEvaluator(String customEvaluator)
           
 void setEvaluator(String evaluator)
           
 void setExpression(String expression)
           
protected  List<Object> splitMessage(MuleMessage message)
          Method used just to split the message into parts.
 
Methods inherited from class org.mule.routing.outbound.AbstractRoundRobinMessageSplitter
getMessageParts, isDeterministic, isDisableRoundRobin, isFailIfNoMatch, setDeterministic, setDisableRoundRobin, setFailIfNoMatch
 
Methods inherited from class org.mule.routing.outbound.AbstractMessageSplitter
route
 
Methods inherited from class org.mule.routing.outbound.FilteringOutboundRouter
addRoute, getFilter, getRoute, getTransformers, isMatch, isTransformBeforeMatch, isUseTemplates, setFilter, setTransformers, setUseTemplates
 
Methods inherited from class org.mule.routing.outbound.AbstractOutboundRouter
cloneMessage, cloneMessage, createEventToRoute, dispose, getEnableCorrelation, getMuleContext, getOwnedMessageProcessors, getReplyTo, getResultsHandler, getRoute, getRouterStatistics, getRoutes, getTransactionConfig, isDynamicRoutes, process, propagateMagicProperties, removeRoute, sendRequest, sendRequestEvent, setEnableCorrelation, setEnableCorrelationAsString, setMessageProcessors, setMessageProperties, setReplyTo, setResultsHandler, setRouterStatistics, setRoutes, setTransactionConfig, start, stop
 
Methods inherited from class org.mule.processor.AbstractMessageProcessorOwner
addMessageProcessorPathElements, getAnnotation, getAnnotations, getOwnedObjects, setAnnotations
 
Methods inherited from class org.mule.processor.AbstractMuleObjectOwner
getFlowConstruct, setFlowConstruct, setMuleContext
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.mule.api.context.MuleContextAware
setMuleContext
 
Methods inherited from interface org.mule.api.construct.FlowConstructAware
setFlowConstruct
 

Field Detail

config

protected ExpressionConfig config
Constructor Detail

ExpressionMessageSplitter

public ExpressionMessageSplitter()

ExpressionMessageSplitter

public ExpressionMessageSplitter(ExpressionConfig config)
Method Detail

getCustomEvaluator

public String getCustomEvaluator()

setCustomEvaluator

public void setCustomEvaluator(String customEvaluator)

getEvaluator

public String getEvaluator()

setEvaluator

public void setEvaluator(String evaluator)

getExpression

public String getExpression()

setExpression

public void setExpression(String expression)

initialise

public void initialise()
                throws InitialisationException
Description copied from interface: Initialisable
Method used to perform any initialisation work. If a fatal error occurs during initialisation an InitialisationException should be thrown, causing the Mule instance to shutdown. If the error is recoverable, say by retrying to connect, a RecoverableException should be thrown. There is no guarantee that by throwing a Recoverable exception that the Mule instance will not shut down.

Specified by:
initialise in interface Initialisable
Overrides:
initialise in class AbstractRoundRobinMessageSplitter
Throws:
InitialisationException - if a fatal error occurs causing the Mule instance to shutdown
RecoverableException - if an error occurs that can be recovered from

splitMessage

protected List<Object> splitMessage(MuleMessage message)
Description copied from class: AbstractRoundRobinMessageSplitter
Method used just to split the message into parts. Each part should be an entry in the list. The list can contain either MuleMessage objects or just payloads (Mule will automatically convert the payloads into messages).

This method can be overridden by custom implementations of splitter router where the distribution of the message parts will be done using either round robin or endpoint filtering.

Overrides:
splitMessage in class AbstractRoundRobinMessageSplitter
Parameters:
message - the source message to split into parts
Returns:
a list of payload objects or MuleMessage objects. Usually, it is sufficient just to return payload objects


Copyright © 2003-2014 MuleSoft, Inc.. All Rights Reserved.