org.mule.routing.inbound
Class AbstractEventResequencer

java.lang.Object
  extended byorg.mule.routing.inbound.SelectiveConsumer
      extended byorg.mule.routing.inbound.AbstractEventResequencer
All Implemented Interfaces:
UMOInboundRouter, UMORouter
Direct Known Subclasses:
CorrelationEventResequencer

public abstract class AbstractEventResequencer
extends SelectiveConsumer

AbstractEventResequencer is used to receive a set of events, resequence them and forward them on to their destination

Version:
$Revision: 3798 $
Author:
Ross Mason

Field Summary
protected static Log logger
          logger used by this class
protected static String NO_CORRELATION_ID
           
 
Constructor Summary
AbstractEventResequencer()
           
 
Method Summary
protected  EventGroup addEvent(UMOEvent event)
           
 Comparator getComparator()
           
 UMOEvent[] process(UMOEvent event)
          A received UMOEvent is passed to this method for processing.
protected  void removeGroup(Object id)
           
protected  List resequenceEvents(EventGroup events)
           
 void setComparator(Comparator comparator)
           
protected abstract  boolean shouldResequence(EventGroup events)
           
 
Methods inherited from class org.mule.routing.inbound.SelectiveConsumer
getFilter, getRouterStatistics, isMatch, isTransformFirst, setFilter, setRouterStatistics, setTransformFirst
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

NO_CORRELATION_ID

protected static final String NO_CORRELATION_ID
See Also:
Constant Field Values

logger

protected static Log logger
logger used by this class

Constructor Detail

AbstractEventResequencer

public AbstractEventResequencer()
Method Detail

process

public UMOEvent[] process(UMOEvent event)
                   throws MessagingException
Description copied from interface: UMOInboundRouter
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.

Specified by:
process in interface UMOInboundRouter
Overrides:
process in class SelectiveConsumer
Throws:
MessagingException

addEvent

protected EventGroup addEvent(UMOEvent event)

removeGroup

protected void removeGroup(Object id)

resequenceEvents

protected List resequenceEvents(EventGroup events)

getComparator

public Comparator getComparator()

setComparator

public void setComparator(Comparator comparator)

shouldResequence

protected abstract boolean shouldResequence(EventGroup events)


Copyright © 2003-2006 MuleSource Inc.. All Rights Reserved.