org.mule.umo.routing
Interface UMOInboundRouter

All Superinterfaces:
UMORouter
All Known Implementing Classes:
AbstractEventAggregator, AbstractEventResequencer, BankQuotesInboundAggregator, CorrelationAggregator, CorrelationEventResequencer, ForwardingConsumer, IdempotentReceiver, IdempotentSecureHashReceiver, InboundPassThroughRouter, MessageChunkingAggregator, SelectiveConsumer, WireTap

public interface UMOInboundRouter
extends UMORouter

UMOInboundRouter defines an interface for an inbound Message router. An inbound router is used to control how events are received by a component. One or more of these routers can be associated with a UMOInboundRouterCollection implementation.

See Also:
UMOInboundRouterCollection

Method Summary
 boolean isMatch(UMOEvent event)
          Determines if the event should be processed by this router.
 UMOEvent[] process(UMOEvent event)
          A received UMOEvent is passed to this method for processing.
 
Methods inherited from interface org.mule.umo.routing.UMORouter
getRouterStatistics, setRouterStatistics
 

Method Detail

process

UMOEvent[] process(UMOEvent event)
                   throws MessagingException
A received UMOEvent is passed to this method for processing. The router can control processing by either 1. passing back a null to indicate that the router has either discarded the event of the event has been stored for further processing. A reaosn for storing the event might be that other events in it's correlation group are expected to be received. 2. Pass back an array of one or more events to be processed by the component. Often 1 event is returned, i.e. in the case of event aggregation. The router may return an array of events if a set of events have been resequenced or multiple events have been generated from a single event.

Parameters:
event - the event received by the inbound endpoint before it is passed to the component
Returns:
null to indicate the event has been stored/destroyed or an array of events to be processed by the component
Throws:
MessagingException - if an error occurs during processing of the event

isMatch

boolean isMatch(UMOEvent event)
                throws MessagingException
Determines if the event should be processed by this router. Routers can be selectively invoked by configuing a filter on them. Usually the filter is applied to the event when calling this method. All core Mule inbound routers extend the SelectiveConsumer router.

Parameters:
event - the current event to evaluate
Returns:
true if the event should be processed by this router
Throws:
MessagingException - if the event cannot be evaluated
See Also:
SelectiveConsumer


Copyright © 2003-2008 MuleSource, Inc.. All Rights Reserved.