net.esper.eql.core
Interface OrderByProcessor

All Known Implementing Classes:
OrderByProcessorSimple

public interface OrderByProcessor

A processor for ordering output events according to the order specified in the order-by clause.


Method Summary
 EventBean[] sort(EventBean[] outgoingEvents, EventBean[][] generatingEvents)
          Sort the output events.
 EventBean[] sort(EventBean[] outgoingEvents, EventBean[][] generatingEvents, MultiKey[] groupByKeys)
          Sort the output events, using the provided group-by keys for evaluating grouped aggregation functions, and avoiding the cost of recomputing the keys.
 

Method Detail

sort

EventBean[] sort(EventBean[] outgoingEvents,
                 EventBean[][] generatingEvents)
Sort the output events. If the order-by processor needs group-by keys to evaluate the expressions in the order-by clause, these will be computed from the generating events.

Parameters:
outgoingEvents - - the events to be sorted
generatingEvents - - the events that generated the output events (each event has a corresponding array of generating events per different event streams)
Returns:
an array containing the output events in sorted order

sort

EventBean[] sort(EventBean[] outgoingEvents,
                 EventBean[][] generatingEvents,
                 MultiKey[] groupByKeys)
Sort the output events, using the provided group-by keys for evaluating grouped aggregation functions, and avoiding the cost of recomputing the keys.

Parameters:
outgoingEvents - - the events to sort
generatingEvents - - the events that generated the output events (each event has a corresponding array of generating events per different event streams)
groupByKeys - - the keys to use for determining the group-by group of output events
Returns:
an array containing the output events in sorted order