org.mule.api.routing
Interface InboundRouter

All Superinterfaces:
Disposable, Initialisable, Router
All Known Implementing Classes:
AbstractCorrelationAggregator, AbstractEventAggregator, BankQuotesInboundAggregator, CorrelationEventResequencer, ForwardingConsumer, IdempotentReceiver, IdempotentSecureHashReceiver, InboundPassThroughRouter, MessageChunkingAggregator, SelectiveConsumer, SimpleCollectionAggregator, WireTap

public interface InboundRouter
extends Router

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

See Also:
InboundRouterCollection

Field Summary
 
Fields inherited from interface org.mule.api.lifecycle.Initialisable
PHASE_NAME
 
Fields inherited from interface org.mule.api.lifecycle.Disposable
PHASE_NAME
 
Method Summary
 boolean isMatch(MuleEvent event)
          Determines if the event should be processed by this router.
 MuleEvent[] process(MuleEvent event)
          A received MuleEvent is passed to this method for processing.
 
Methods inherited from interface org.mule.api.routing.Router
getRouterStatistics, setRouterStatistics
 
Methods inherited from interface org.mule.api.lifecycle.Initialisable
initialise
 
Methods inherited from interface org.mule.api.lifecycle.Disposable
dispose
 

Method Detail

process

MuleEvent[] process(MuleEvent event)
                    throws MessagingException
A received MuleEvent 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 service. 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 service
Returns:
null to indicate the event has been stored/destroyed or an array of events to be processed by the service
Throws:
MessagingException - if an error occurs during processing of the event

isMatch

boolean isMatch(MuleEvent 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-2009 MuleSource, Inc.. All Rights Reserved.