|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.espertech.esper.epl.agg.service.AggSvcGroupByWTableBase
public abstract class AggSvcGroupByWTableBase
Implementation for handling aggregation with grouping by group-keys.
Field Summary | |
---|---|
protected AggregationAccessorSlotPair[] |
accessors
|
protected ExprNode[] |
accessStateExpr
|
protected AggregationMethod[] |
currentAggregatorMethods
|
protected AggregationState[] |
currentAggregatorStates
|
protected java.lang.Object |
currentGroupKey
|
protected boolean |
isJoin
|
protected TableColumnMethodPair[] |
methodPairs
|
protected TableMetadata |
tableMetadata
|
protected TableStateInstanceGroupBy |
tableStateInstance
|
protected int[] |
targetStates
|
Constructor Summary | |
---|---|
AggSvcGroupByWTableBase(TableMetadata tableMetadata,
TableColumnMethodPair[] methodPairs,
AggregationAccessorSlotPair[] accessors,
boolean join,
TableStateInstanceGroupBy tableStateInstance,
int[] targetStates,
ExprNode[] accessStateExpr,
AggregationAgent[] agents)
|
Method Summary | |
---|---|
void |
accept(AggregationServiceVisitor visitor)
|
void |
acceptGroupDetail(AggregationServiceVisitorWGroupDetail visitor)
|
void |
applyEnter(EventBean[] eventsPerStream,
java.lang.Object groupByKey,
ExprEvaluatorContext exprEvaluatorContext)
Apply events as entering a window (new events). |
protected void |
applyEnterGroupKey(EventBean[] eventsPerStream,
java.lang.Object groupByKey,
ExprEvaluatorContext exprEvaluatorContext)
|
abstract void |
applyEnterInternal(EventBean[] eventsPerStream,
java.lang.Object groupByKey,
ExprEvaluatorContext exprEvaluatorContext)
|
void |
applyLeave(EventBean[] eventsPerStream,
java.lang.Object groupByKey,
ExprEvaluatorContext exprEvaluatorContext)
Apply events as leaving a window (old events). |
protected void |
applyLeaveGroupKey(EventBean[] eventsPerStream,
java.lang.Object groupByKey,
ExprEvaluatorContext exprEvaluatorContext)
|
abstract void |
applyLeaveInternal(EventBean[] eventsPerStream,
java.lang.Object groupByKey,
ExprEvaluatorContext exprEvaluatorContext)
|
void |
clearResults(ExprEvaluatorContext exprEvaluatorContext)
Clear current aggregation state. |
java.util.Collection<EventBean> |
getCollectionOfEvents(int column,
EventBean[] eventsPerStream,
boolean isNewData,
ExprEvaluatorContext context)
|
java.util.Collection<java.lang.Object> |
getCollectionScalar(int column,
EventBean[] eventsPerStream,
boolean isNewData,
ExprEvaluatorContext context)
|
EventBean |
getEventBean(int column,
EventBean[] eventsPerStream,
boolean isNewData,
ExprEvaluatorContext context)
|
java.lang.Object |
getGroupKey(int agentInstanceId)
|
java.util.Collection<java.lang.Object> |
getGroupKeys(ExprEvaluatorContext exprEvaluatorContext)
|
java.lang.Object |
getValue(int column,
int agentInstanceId,
EventBean[] eventsPerStream,
boolean isNewData,
ExprEvaluatorContext exprEvaluatorContext)
Returns current aggregation state, for use by expression node representing an aggregation function. |
boolean |
isGrouped()
|
void |
setCurrentAccess(java.lang.Object groupByKey,
int agentInstanceId,
AggregationGroupByRollupLevel rollupLevel)
Set the current aggregation state row - for use when evaluation nodes are asked to evaluate. |
void |
setRemovedCallback(AggregationRowRemovedCallback callback)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected final TableMetadata tableMetadata
protected final TableColumnMethodPair[] methodPairs
protected final AggregationAccessorSlotPair[] accessors
protected final boolean isJoin
protected final TableStateInstanceGroupBy tableStateInstance
protected final int[] targetStates
protected final ExprNode[] accessStateExpr
protected AggregationMethod[] currentAggregatorMethods
protected AggregationState[] currentAggregatorStates
protected java.lang.Object currentGroupKey
Constructor Detail |
---|
public AggSvcGroupByWTableBase(TableMetadata tableMetadata, TableColumnMethodPair[] methodPairs, AggregationAccessorSlotPair[] accessors, boolean join, TableStateInstanceGroupBy tableStateInstance, int[] targetStates, ExprNode[] accessStateExpr, AggregationAgent[] agents)
Method Detail |
---|
public abstract void applyEnterInternal(EventBean[] eventsPerStream, java.lang.Object groupByKey, ExprEvaluatorContext exprEvaluatorContext)
public abstract void applyLeaveInternal(EventBean[] eventsPerStream, java.lang.Object groupByKey, ExprEvaluatorContext exprEvaluatorContext)
public void applyEnter(EventBean[] eventsPerStream, java.lang.Object groupByKey, ExprEvaluatorContext exprEvaluatorContext)
AggregationService
applyEnter
in interface AggregationService
eventsPerStream
- - events for each stream entering windowgroupByKey
- - can be null if grouping without keys is desired, else the keys
or array of keys to use for grouping, each distinct key value results in a new row of aggregation state.exprEvaluatorContext
- context for expression evaluatiompublic void applyLeave(EventBean[] eventsPerStream, java.lang.Object groupByKey, ExprEvaluatorContext exprEvaluatorContext)
AggregationService
applyLeave
in interface AggregationService
eventsPerStream
- - events for each stream entering windowgroupByKey
- - can be null if grouping without keys is desired, else the keys
or array of keys to use for grouping, each distinct key value results in a new row of aggregation state.exprEvaluatorContext
- context for expression evaluatiomprotected void applyEnterGroupKey(EventBean[] eventsPerStream, java.lang.Object groupByKey, ExprEvaluatorContext exprEvaluatorContext)
protected void applyLeaveGroupKey(EventBean[] eventsPerStream, java.lang.Object groupByKey, ExprEvaluatorContext exprEvaluatorContext)
public void setCurrentAccess(java.lang.Object groupByKey, int agentInstanceId, AggregationGroupByRollupLevel rollupLevel)
AggregationService
setCurrentAccess
in interface AggregationService
groupByKey
- - single key identifying the row of aggregation statesagentInstanceId
- context partition idpublic java.lang.Object getValue(int column, int agentInstanceId, EventBean[] eventsPerStream, boolean isNewData, ExprEvaluatorContext exprEvaluatorContext)
AggregationResultFuture
getValue
in interface AggregationResultFuture
column
- is assigned to the aggregation expression node and passed as an column (index) into a rowagentInstanceId
- the context partition id
public java.util.Collection<EventBean> getCollectionOfEvents(int column, EventBean[] eventsPerStream, boolean isNewData, ExprEvaluatorContext context)
getCollectionOfEvents
in interface AggregationResultFuture
public java.util.Collection<java.lang.Object> getCollectionScalar(int column, EventBean[] eventsPerStream, boolean isNewData, ExprEvaluatorContext context)
getCollectionScalar
in interface AggregationResultFuture
public EventBean getEventBean(int column, EventBean[] eventsPerStream, boolean isNewData, ExprEvaluatorContext context)
getEventBean
in interface AggregationResultFuture
public void setRemovedCallback(AggregationRowRemovedCallback callback)
setRemovedCallback
in interface AggregationService
public void accept(AggregationServiceVisitor visitor)
accept
in interface AggregationService
public void acceptGroupDetail(AggregationServiceVisitorWGroupDetail visitor)
acceptGroupDetail
in interface AggregationService
public boolean isGrouped()
isGrouped
in interface AggregationService
public java.lang.Object getGroupKey(int agentInstanceId)
getGroupKey
in interface AggregationResultFuture
public java.util.Collection<java.lang.Object> getGroupKeys(ExprEvaluatorContext exprEvaluatorContext)
getGroupKeys
in interface AggregationResultFuture
public void clearResults(ExprEvaluatorContext exprEvaluatorContext)
AggregationService
clearResults
in interface AggregationService
|
© 2006-2015 EsperTech Inc. All rights reserved. Visit us at espertech.com |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |