public class AggregationStateSortedImpl extends Object implements AggregationStateWithSize, AggregationStateSorted
Modifier and Type | Field and Description |
---|---|
protected int |
size |
protected TreeMap<Object,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.
|
void |
applyLeave(EventBean[] eventsPerStream,
ExprEvaluatorContext exprEvaluatorContext)
Remove an event.
|
void |
clear()
Clear all events in the group.
|
Collection<EventBean> |
collectionReadOnly()
Returns all events for the group.
|
protected boolean |
dereferenceEvent(EventBean theEvent) |
protected void |
dereferenceRemove(EventBean theEvent,
EventBean[] eventsPerStream,
ExprEvaluatorContext exprEvaluatorContext) |
static Object |
getComparable(ExprEvaluator[] criteria,
EventBean[] eventsPerStream,
boolean istream,
ExprEvaluatorContext exprEvaluatorContext) |
EventBean |
getFirstValue()
Returns the first (oldest) value entered.
|
EventBean |
getLastValue()
Returns the newest (last) value entered.
|
Iterator<EventBean> |
getReverseIterator() |
Iterator<EventBean> |
iterator()
Returns all events for the group.
|
protected void |
referenceAdd(EventBean theEvent,
EventBean[] eventsPerStream,
ExprEvaluatorContext exprEvaluatorContext) |
protected boolean |
referenceEvent(EventBean theEvent) |
int |
size()
Must return the number of events currently held, if applicable.
|
protected final AggregationStateSortedSpec spec
protected int size
public AggregationStateSortedImpl(AggregationStateSortedSpec spec)
spec
- aggregation specpublic void clear()
AggregationState
clear
in interface AggregationState
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 contextprotected boolean referenceEvent(EventBean theEvent)
protected boolean dereferenceEvent(EventBean theEvent)
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 EventBean getFirstValue()
AggregationStateSorted
getFirstValue
in interface AggregationStateSorted
public EventBean getLastValue()
AggregationStateSorted
getLastValue
in interface AggregationStateSorted
public Iterator<EventBean> iterator()
AggregationStateSorted
iterator
in interface AggregationStateSorted
public Iterator<EventBean> getReverseIterator()
getReverseIterator
in interface AggregationStateSorted
public Collection<EventBean> collectionReadOnly()
AggregationStateSorted
collectionReadOnly
in interface AggregationStateSorted
public int size()
AggregationStateWithSize
size
in interface AggregationStateSorted
size
in interface AggregationStateWithSize
public static Object getComparable(ExprEvaluator[] criteria, EventBean[] eventsPerStream, boolean istream, ExprEvaluatorContext exprEvaluatorContext)
protected void referenceAdd(EventBean theEvent, EventBean[] eventsPerStream, ExprEvaluatorContext exprEvaluatorContext)
protected void dereferenceRemove(EventBean theEvent, EventBean[] eventsPerStream, ExprEvaluatorContext exprEvaluatorContext)