Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.mule.routing.outbound
Class AbstractMessageSplitter

    java.lang.Object
      org.mule.routing.outbound.AbstractOutboundRouter
          org.mule.routing.outbound.FilteringOutboundRouter
              org.mule.routing.outbound.AbstractMessageSplitter

All Implemented Interfaces:
  FlowConstructAware, MuleContextAware, Disposable, Initialisable, Lifecycle, Startable, Stoppable, MessageProcessor, MessageRouter, Matchable, MatchableMessageProcessor, MatchableMessageRouter, OutboundRouter, RouterStatisticsRecorder, TransformingMatchable

Direct Known Subclasses:
  AbstractRoundRobinMessageSplitter

    public abstract class AbstractMessageSplitter

extends FilteringOutboundRouter
implements MessageRouter

`AbstractMessageSplitter` is an outbound Message Splitter used to split the contents of a received message into sub parts that can be processed by other components. Each Part is fired as a separate event to each endpoint on the router. The targets can have filters on them to receive only certain message parts.

Field Summary

Fields inherited from class org.mule.routing.outbound.FilteringOutboundRouter
`expressionManager`

Fields inherited from class org.mule.routing.outbound.AbstractOutboundRouter
`enableCorrelation, flowConstruct, initialised, logger, magicProperties, muleContext, replyTo, resultsHandler, routes, started, transactionConfig`

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`

Constructor Summary
`AbstractMessageSplitter()`

Method Summary
`protected abstract SplitMessage` | `getMessageParts(MuleMessage message, List<MessageProcessor> endpoints)` Implementing classes should create a `SplitMessage` instance and for each part can associate an endpoint.
`MuleEvent` | `route(MuleEvent event)`

Methods inherited from class org.mule.routing.outbound.FilteringOutboundRouter
`addRoute, getFilter, getRoute, getTransformers, initialise, isMatch, isTransformBeforeMatch, isUseTemplates, setFilter, setTransformers, setUseTemplates`

Methods inherited from class org.mule.routing.outbound.AbstractOutboundRouter
`dispose, getEnableCorrelation, getMuleContext, getReplyTo, getResultsHandler, getRoute, getRouterStatistics, getRoutes, getTransactionConfig, isDynamicRoutes, process, propagateMagicProperties, removeRoute, sendRequest, sendRequestEvent, setEnableCorrelation, setEnableCorrelationAsString, setFlowConstruct, setMessageProcessors, setMessageProperties, setMuleContext, setReplyTo, setResultsHandler, setRouterStatistics, setRoutes, setTransactionConfig, start, stop`

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.processor.MessageRouter
`addRoute, removeRoute`

Methods inherited from interface org.mule.api.processor.MessageProcessor
`process`

Constructor Detail

### AbstractMessageSplitter

    public AbstractMessageSplitter()

Method Detail

### route

    public MuleEvent route(MuleEvent event)
                    throws RoutingException

  Overrides:
    `route` in class `FilteringOutboundRouter`
  Throws:
    `RoutingException`

### getMessageParts

    protected abstract SplitMessage getMessageParts(MuleMessage message,
                                                    List<MessageProcessor> endpoints)

  Implementing classes should create a `SplitMessage` instance and for each part can associate an endpoint. Note that No state should be stored on the router itself. The `SplitMessage` provides the parts and endpoint mapping info in order for the correct dispatching to occur.

  If users do not want to associate a message part with an endpoint, but just dispatch parts over the targets in a round-robin way, they should use the `AbstractRoundRobinMessageSplitter` instead.

  Parameters:
    `message` - the current message being processed
    `endpoints` - A list of `OutboundEndpoint` that will be used to dispatch each of the parts
  Returns:
    a `SplitMessage` instance that contains the message parts and the endpoint to associate with the message part.
  See Also:
    `SplitMessage`, `AbstractRoundRobinMessageSplitter`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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