public class AggregationStateSortedImpl extends java.lang.Object implements AggregationStateWithSize, AggregationStateSorted
Modifier and Type | Field and Description |
---|---|
protected int |
size |
protected java.util.TreeMap<java.lang.Object,java.lang.Object> |
sorted |
protected AggregationStateSortedSpec |
spec |
Constructor and Description |
---|
AggregationStateSortedImpl(AggregationStateSortedSpec spec)
Ctor.
|
Modifier and Type | Method and Description |
---|---|
void |
applyEnter(EventBean[] eventsPerStream,
ExprEvaluatorContext exprEvaluatorContext)
Enter an event.
|
static void |
applyEnterCodegen(AggregationStateSortedForge forge,
int stateNumber,
CodegenMethodNode method,
ExprForgeCodegenSymbol symbols,
CodegenNamedMethods namedMethods,
CodegenClassScope classScope) |
void |
applyLeave(EventBean[] eventsPerStream,
ExprEvaluatorContext exprEvaluatorContext)
Remove an event.
|
static void |
applyLeaveCodegen(AggregationStateSortedForge forge,
int stateNumber,
CodegenMethodNode method,
ExprForgeCodegenSymbol symbols,
CodegenNamedMethods namedMethods,
CodegenClassScope classScope) |
static EventBean |
checkedPayloadMayDeque(java.lang.Object value)
NOTE: Code-generation-invoked method, method name and parameter order matters
|
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.
|
static CodegenExpression |
collectionReadOnlyCodegen(int column) |
protected boolean |
dereferenceEvent(EventBean theEvent) |
protected void |
dereferenceRemove(EventBean theEvent,
EventBean[] eventsPerStream,
ExprEvaluatorContext exprEvaluatorContext) |
protected static CodegenMethodNode |
dereferenceRemoveFromCollCodegen(AggregationStateSortedForge forge,
int stateNumber,
CodegenMethodNode parent,
CodegenNamedMethods namedMethods,
CodegenClassScope classScope) |
static java.lang.Object |
getComparable(ExprEvaluator[] criteria,
EventBean[] eventsPerStream,
boolean istream,
ExprEvaluatorContext exprEvaluatorContext) |
static CodegenMethodNode |
getComparableCodegen(java.lang.String methodName,
ExprNode[] criteria,
CodegenNamedMethods namedMethods,
CodegenClassScope classScope) |
EventBean |
getFirstValue()
Returns the first (oldest) value entered.
|
static CodegenExpression |
getFirstValueCodegen(AggregationStateSortedForge forge,
int slot,
CodegenClassScope classScope,
CodegenMethodNode parent) |
EventBean |
getLastValue()
Returns the newest (last) value entered.
|
static CodegenExpression |
getLastValueCodegen(AggregationStateSortedForge forge,
int slot,
CodegenClassScope classScope,
CodegenMethodNode parent) |
java.util.Iterator<EventBean> |
getReverseIterator() |
static CodegenExpression |
getReverseIteratorCodegen(AggregationStateSortedForge forge,
int slot) |
java.util.Iterator<EventBean> |
iterator()
Returns all events for the group.
|
static CodegenExpression |
iteratorCodegen(AggregationStateSortedForge forge,
int slot) |
protected void |
referenceAdd(EventBean theEvent,
EventBean[] eventsPerStream,
ExprEvaluatorContext exprEvaluatorContext) |
protected static CodegenMethodNode |
referenceAddToCollCodegen(AggregationStateSortedForge forge,
int stateNumber,
CodegenMethodNode parent,
CodegenNamedMethods namedMethods,
CodegenClassScope classScope) |
protected boolean |
referenceEvent(EventBean theEvent) |
static void |
rowMemberCodegen(AggregationStateSortedForge forge,
int stateNumber,
CodegenCtor ctor,
CodegenMembersColumnized membersColumnized,
CodegenClassScope classScope) |
int |
size()
Must return the number of events currently held, if applicable.
|
static CodegenExpression |
sizeCodegen(AggregationStateSortedForge forge,
int slot) |
protected final AggregationStateSortedSpec spec
protected final java.util.TreeMap<java.lang.Object,java.lang.Object> sorted
protected int size
public AggregationStateSortedImpl(AggregationStateSortedSpec spec)
spec
- aggregation specpublic static void rowMemberCodegen(AggregationStateSortedForge forge, int stateNumber, CodegenCtor ctor, CodegenMembersColumnized membersColumnized, CodegenClassScope classScope)
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(AggregationStateSortedForge forge, int stateNumber, CodegenMethodNode method, ExprForgeCodegenSymbol symbols, CodegenNamedMethods namedMethods, CodegenClassScope classScope)
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 static void applyLeaveCodegen(AggregationStateSortedForge forge, int stateNumber, CodegenMethodNode method, ExprForgeCodegenSymbol symbols, CodegenNamedMethods namedMethods, CodegenClassScope classScope)
public void clear()
AggregationState
clear
in interface AggregationState
public static void clearCodegen(int stateNumber, CodegenMethodNode method)
protected boolean referenceEvent(EventBean theEvent)
protected boolean dereferenceEvent(EventBean theEvent)
public EventBean getFirstValue()
AggregationStateSorted
getFirstValue
in interface AggregationStateSorted
public static CodegenExpression getFirstValueCodegen(AggregationStateSortedForge forge, int slot, CodegenClassScope classScope, CodegenMethodNode parent)
public EventBean getLastValue()
AggregationStateSorted
getLastValue
in interface AggregationStateSorted
public static CodegenExpression getLastValueCodegen(AggregationStateSortedForge forge, int slot, CodegenClassScope classScope, CodegenMethodNode parent)
public java.util.Iterator<EventBean> iterator()
AggregationStateSorted
iterator
in interface AggregationStateSorted
public static CodegenExpression iteratorCodegen(AggregationStateSortedForge forge, int slot)
public java.util.Iterator<EventBean> getReverseIterator()
getReverseIterator
in interface AggregationStateSorted
public static CodegenExpression getReverseIteratorCodegen(AggregationStateSortedForge forge, int slot)
public java.util.Collection<EventBean> collectionReadOnly()
AggregationStateSorted
collectionReadOnly
in interface AggregationStateSorted
public static CodegenExpression collectionReadOnlyCodegen(int column)
public int size()
AggregationStateWithSize
size
in interface AggregationStateSorted
size
in interface AggregationStateWithSize
public static CodegenExpression sizeCodegen(AggregationStateSortedForge forge, int slot)
public static java.lang.Object getComparable(ExprEvaluator[] criteria, EventBean[] eventsPerStream, boolean istream, ExprEvaluatorContext exprEvaluatorContext)
public static CodegenMethodNode getComparableCodegen(java.lang.String methodName, ExprNode[] criteria, CodegenNamedMethods namedMethods, CodegenClassScope classScope)
protected void referenceAdd(EventBean theEvent, EventBean[] eventsPerStream, ExprEvaluatorContext exprEvaluatorContext)
protected static CodegenMethodNode referenceAddToCollCodegen(AggregationStateSortedForge forge, int stateNumber, CodegenMethodNode parent, CodegenNamedMethods namedMethods, CodegenClassScope classScope)
protected void dereferenceRemove(EventBean theEvent, EventBean[] eventsPerStream, ExprEvaluatorContext exprEvaluatorContext)
protected static CodegenMethodNode dereferenceRemoveFromCollCodegen(AggregationStateSortedForge forge, int stateNumber, CodegenMethodNode parent, CodegenNamedMethods namedMethods, CodegenClassScope classScope)
public static final EventBean checkedPayloadMayDeque(java.lang.Object value)
value
- payload to check