public class AggregationStateMinMaxByEver extends java.lang.Object implements AggregationState, AggregationStateSorted
Modifier and Type | Field and Description |
---|---|
protected java.lang.Object |
currentMinMax |
protected EventBean |
currentMinMaxBean |
protected AggregationStateMinMaxByEverSpec |
spec |
Constructor and Description |
---|
AggregationStateMinMaxByEver(AggregationStateMinMaxByEverSpec spec) |
Modifier and Type | Method and Description |
---|---|
protected void |
addEvent(EventBean theEvent,
EventBean[] eventsPerStream,
ExprEvaluatorContext exprEvaluatorContext) |
void |
applyEnter(EventBean[] eventsPerStream,
ExprEvaluatorContext exprEvaluatorContext)
Enter an event.
|
static void |
applyEnterCodegen(AggregationStateMinMaxByEverForge forge,
int stateNumber,
CodegenMethodNode method,
ExprForgeCodegenSymbol symbols,
CodegenClassScope classScope,
CodegenNamedMethods namedMethods) |
void |
applyLeave(EventBean[] eventsPerStream,
ExprEvaluatorContext exprEvaluatorContext)
Remove an event.
|
void |
clear()
Clear all events in the group.
|
static void |
clearCodegen(int stateNumber,
CodegenMethodNode method) |
java.util.Collection<EventBean> |
collectionReadOnly()
Returns all events for the group.
|
java.lang.Object |
getCurrentMinMax() |
EventBean |
getCurrentMinMaxBean() |
EventBean |
getFirstValue()
Returns the first (oldest) value entered.
|
static CodegenExpression |
getFirstValueCodegen(AggregationStateMinMaxByEverForge forge,
int slot,
CodegenClassScope classScope,
CodegenMethodNode method) |
EventBean |
getLastValue()
Returns the newest (last) value entered.
|
static CodegenExpression |
getLastValueCodegen(AggregationStateMinMaxByEverForge forge,
int slot,
CodegenClassScope classScope,
CodegenMethodNode method) |
java.util.Iterator<EventBean> |
getReverseIterator() |
AggregationStateMinMaxByEverSpec |
getSpec() |
java.util.Iterator<EventBean> |
iterator()
Returns all events for the group.
|
static void |
rowMemberCodegen(int stateNumber,
CodegenMembersColumnized membersColumnized) |
void |
setCurrentMinMax(java.lang.Object currentMinMax) |
void |
setCurrentMinMaxBean(EventBean currentMinMaxBean) |
int |
size()
Returns the number of events in the group.
|
protected final AggregationStateMinMaxByEverSpec spec
protected EventBean currentMinMaxBean
protected java.lang.Object currentMinMax
public AggregationStateMinMaxByEver(AggregationStateMinMaxByEverSpec spec)
public static void rowMemberCodegen(int stateNumber, CodegenMembersColumnized membersColumnized)
public void applyEnter(EventBean[] eventsPerStream, ExprEvaluatorContext exprEvaluatorContext)
AggregationState
applyEnter
in interface AggregationState
eventsPerStream
- all events in all streams, typically implementations pick the relevant stream's events to addexprEvaluatorContext
- expression eval contextpublic static void applyEnterCodegen(AggregationStateMinMaxByEverForge forge, int stateNumber, CodegenMethodNode method, ExprForgeCodegenSymbol symbols, CodegenClassScope classScope, CodegenNamedMethods namedMethods)
public void applyLeave(EventBean[] eventsPerStream, ExprEvaluatorContext exprEvaluatorContext)
AggregationState
applyLeave
in interface AggregationState
eventsPerStream
- all events in all streams, typically implementations pick the relevant stream's events to removeexprEvaluatorContext
- expression eval contextpublic void clear()
AggregationState
clear
in interface AggregationState
public static void clearCodegen(int stateNumber, CodegenMethodNode method)
public EventBean getFirstValue()
AggregationStateSorted
getFirstValue
in interface AggregationStateSorted
public static CodegenExpression getFirstValueCodegen(AggregationStateMinMaxByEverForge forge, int slot, CodegenClassScope classScope, CodegenMethodNode method)
public EventBean getLastValue()
AggregationStateSorted
getLastValue
in interface AggregationStateSorted
public static CodegenExpression getLastValueCodegen(AggregationStateMinMaxByEverForge forge, int slot, CodegenClassScope classScope, CodegenMethodNode method)
public java.util.Iterator<EventBean> iterator()
AggregationStateSorted
iterator
in interface AggregationStateSorted
public java.util.Iterator<EventBean> getReverseIterator()
getReverseIterator
in interface AggregationStateSorted
public java.util.Collection<EventBean> collectionReadOnly()
AggregationStateSorted
collectionReadOnly
in interface AggregationStateSorted
public int size()
AggregationStateSorted
size
in interface AggregationStateSorted
public AggregationStateMinMaxByEverSpec getSpec()
public EventBean getCurrentMinMaxBean()
public java.lang.Object getCurrentMinMax()
public void setCurrentMinMaxBean(EventBean currentMinMaxBean)
public void setCurrentMinMax(java.lang.Object currentMinMax)
protected void addEvent(EventBean theEvent, EventBean[] eventsPerStream, ExprEvaluatorContext exprEvaluatorContext)