public class OrderByProcessorImpl extends Object implements OrderByProcessor
Constructor and Description |
---|
OrderByProcessorImpl(OrderByProcessorFactoryImpl factory) |
Modifier and Type | Method and Description |
---|---|
EventBean |
determineLocalMinMax(EventBean[] outgoingEvents,
EventBean[][] generatingEvents,
boolean isNewData,
ExprEvaluatorContext exprEvaluatorContext,
AggregationService aggregationService) |
static CodegenMethodNode |
determineLocalMinMaxCodegen(OrderByProcessorForgeImpl forge,
CodegenClassScope classScope,
CodegenNamedMethods namedMethods) |
Comparator<Object> |
getComparator() |
Object |
getSortKey(EventBean[] eventsPerStream,
boolean isNewData,
ExprEvaluatorContext exprEvaluatorContext)
Returns the sort key for a given row.
|
static void |
getSortKeyCodegen(OrderByProcessorForgeImpl forge,
CodegenMethodNode method,
CodegenClassScope classScope,
CodegenNamedMethods namedMethods) |
Object[] |
getSortKeyPerRow(EventBean[] generatingEvents,
boolean isNewData,
ExprEvaluatorContext exprEvaluatorContext) |
Object |
getSortKeyRollup(EventBean[] eventsPerStream,
boolean isNewData,
ExprEvaluatorContext exprEvaluatorContext,
AggregationGroupByRollupLevel level) |
static void |
getSortKeyRollupCodegen(OrderByProcessorForgeImpl forge,
CodegenMethodNode method,
CodegenClassScope classScope,
CodegenNamedMethods namedMethods) |
EventBean[] |
sortPlain(EventBean[] outgoingEvents,
EventBean[][] generatingEvents,
boolean isNewData,
ExprEvaluatorContext exprEvaluatorContext,
AggregationService aggregationService)
Sort the output events.
|
static void |
sortPlainCodegen(OrderByProcessorForgeImpl forge,
CodegenMethodNode method,
CodegenClassScope classScope,
CodegenNamedMethods namedMethods) |
EventBean[] |
sortRollup(EventBean[] outgoingEvents,
List<GroupByRollupKey> currentGenerators,
boolean newData,
AgentInstanceContext agentInstanceContext,
AggregationService aggregationService) |
static void |
sortRollupCodegen(OrderByProcessorForgeImpl forge,
CodegenMethodNode method,
CodegenClassScope classScope,
CodegenNamedMethods namedMethods) |
EventBean[] |
sortWGroupKeys(EventBean[] outgoingEvents,
EventBean[][] generatingEvents,
Object[] groupByKeys,
boolean isNewData,
ExprEvaluatorContext exprEvaluatorContext,
AggregationService aggregationService)
Sort the output events, using the provided group-by keys for
evaluating grouped aggregation functions, and avoiding the cost of
recomputing the keys.
|
EventBean[] |
sortWOrderKeys(EventBean[] outgoingEvents,
Object[] orderKeys,
ExprEvaluatorContext exprEvaluatorContext)
Sort a given array of outgoing events using the sort keys returning a sorted outgoing event array.
|
static void |
sortWOrderKeysCodegen(OrderByProcessorForgeImpl forge,
CodegenMethodNode method,
CodegenClassScope classScope) |
public OrderByProcessorImpl(OrderByProcessorFactoryImpl factory)
public Object getSortKey(EventBean[] eventsPerStream, boolean isNewData, ExprEvaluatorContext exprEvaluatorContext)
OrderByProcessor
getSortKey
in interface OrderByProcessor
eventsPerStream
- is the row consisting of one event per streamisNewData
- is true for new dataexprEvaluatorContext
- context for expression evalauationpublic static void getSortKeyCodegen(OrderByProcessorForgeImpl forge, CodegenMethodNode method, CodegenClassScope classScope, CodegenNamedMethods namedMethods)
public Object getSortKeyRollup(EventBean[] eventsPerStream, boolean isNewData, ExprEvaluatorContext exprEvaluatorContext, AggregationGroupByRollupLevel level)
getSortKeyRollup
in interface OrderByProcessor
public static void getSortKeyRollupCodegen(OrderByProcessorForgeImpl forge, CodegenMethodNode method, CodegenClassScope classScope, CodegenNamedMethods namedMethods)
public Object[] getSortKeyPerRow(EventBean[] generatingEvents, boolean isNewData, ExprEvaluatorContext exprEvaluatorContext)
public EventBean[] sortPlain(EventBean[] outgoingEvents, EventBean[][] generatingEvents, boolean isNewData, ExprEvaluatorContext exprEvaluatorContext, AggregationService aggregationService)
OrderByProcessor
sortPlain
in interface OrderByProcessor
outgoingEvents
- - the events to be sortedgeneratingEvents
- - the events that generated the output events (each event has a corresponding array of generating events per different event streams)isNewData
- - indicates whether we are dealing with new data (istream) or old data (rstream)exprEvaluatorContext
- context for expression evalauationaggregationService
- aggregation svcpublic static void sortPlainCodegen(OrderByProcessorForgeImpl forge, CodegenMethodNode method, CodegenClassScope classScope, CodegenNamedMethods namedMethods)
public EventBean[] sortRollup(EventBean[] outgoingEvents, List<GroupByRollupKey> currentGenerators, boolean newData, AgentInstanceContext agentInstanceContext, AggregationService aggregationService)
sortRollup
in interface OrderByProcessor
public static void sortRollupCodegen(OrderByProcessorForgeImpl forge, CodegenMethodNode method, CodegenClassScope classScope, CodegenNamedMethods namedMethods)
public EventBean[] sortWGroupKeys(EventBean[] outgoingEvents, EventBean[][] generatingEvents, Object[] groupByKeys, boolean isNewData, ExprEvaluatorContext exprEvaluatorContext, AggregationService aggregationService)
OrderByProcessor
sortWGroupKeys
in interface OrderByProcessor
outgoingEvents
- - the events to sortgeneratingEvents
- - 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 eventsisNewData
- - indicates whether we are dealing with new data (istream) or old data (rstream)exprEvaluatorContext
- context for expression evalauationaggregationService
- aggregation svcpublic EventBean[] sortWOrderKeys(EventBean[] outgoingEvents, Object[] orderKeys, ExprEvaluatorContext exprEvaluatorContext)
OrderByProcessor
sortWOrderKeys
in interface OrderByProcessor
outgoingEvents
- is the events to sortorderKeys
- is the keys to sort byexprEvaluatorContext
- context for expression evalauationpublic static void sortWOrderKeysCodegen(OrderByProcessorForgeImpl forge, CodegenMethodNode method, CodegenClassScope classScope)
public EventBean determineLocalMinMax(EventBean[] outgoingEvents, EventBean[][] generatingEvents, boolean isNewData, ExprEvaluatorContext exprEvaluatorContext, AggregationService aggregationService)
public static CodegenMethodNode determineLocalMinMaxCodegen(OrderByProcessorForgeImpl forge, CodegenClassScope classScope, CodegenNamedMethods namedMethods)
public Comparator<Object> getComparator()