public class AggregatorRateEver extends Object implements AggregationMethod
Modifier and Type | Field and Description |
---|---|
protected boolean |
hasLeave |
protected long |
interval |
protected long |
oneSecondTime |
protected ArrayDeque<Long> |
points |
protected TimeProvider |
timeProvider |
Constructor and Description |
---|
AggregatorRateEver(long interval,
long oneSecondTime,
TimeProvider timeProvider)
Ctor.
|
Modifier and Type | Method and Description |
---|---|
void |
clear()
Clear out the collection.
|
void |
enter(Object object)
Apply the value as entering aggregation (entering window).
|
long |
getInterval() |
long |
getOneSecondTime() |
ArrayDeque<Long> |
getPoints() |
TimeProvider |
getTimeProvider() |
Object |
getValue()
Returns the current value held.
|
boolean |
isHasLeave() |
void |
leave(Object object)
Apply the value as leaving aggregation (leaving window).
|
void |
setHasLeave(boolean hasLeave) |
protected final long interval
protected final long oneSecondTime
protected final ArrayDeque<Long> points
protected boolean hasLeave
protected final TimeProvider timeProvider
public AggregatorRateEver(long interval, long oneSecondTime, TimeProvider timeProvider)
interval
- rate intervaltimeProvider
- timeoneSecondTime
- number of ticks for one secondpublic void clear()
AggregationMethod
clear
in interface AggregationMethod
public void enter(Object object)
AggregationMethod
The value can be null since 'null' values may be counted as unique separate values.
enter
in interface AggregationMethod
object
- to add to aggregatepublic void leave(Object object)
AggregationMethod
The value can be null since 'null' values may be counted as unique separate values.
leave
in interface AggregationMethod
object
- to remove from aggregatepublic Object getValue()
AggregationMethod
getValue
in interface AggregationMethod
public long getInterval()
public long getOneSecondTime()
public ArrayDeque<Long> getPoints()
public boolean isHasLeave()
public void setHasLeave(boolean hasLeave)
public TimeProvider getTimeProvider()