com.espertech.esper.epl.agg.aggregator
Class AggregatorDistinctValue

java.lang.Object
  extended by com.espertech.esper.epl.agg.aggregator.AggregatorDistinctValue
All Implemented Interfaces:
AggregationMethod

public class AggregatorDistinctValue
extends java.lang.Object
implements AggregationMethod

AggregationMethod for use on top of another aggregator that handles unique value aggregation (versus all-value aggregation) for the underlying aggregator.


Field Summary
protected  AggregationMethod inner
           
protected  RefCountedSet<java.lang.Object> valueSet
           
 
Constructor Summary
AggregatorDistinctValue(AggregationMethod inner)
          Ctor.
 
Method Summary
 void clear()
          Clear out the collection.
 void enter(java.lang.Object value)
          Apply the value as entering aggregation (entering window).
 java.lang.Object getValue()
          Returns the current value held.
 java.lang.Class getValueType()
          Returns the type of the current value.
 void leave(java.lang.Object value)
          Apply the value as leaving aggregation (leaving window).
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

inner

protected final AggregationMethod inner

valueSet

protected final RefCountedSet<java.lang.Object> valueSet
Constructor Detail

AggregatorDistinctValue

public AggregatorDistinctValue(AggregationMethod inner)
Ctor.

Parameters:
inner - is the aggregator function computing aggregation values
Method Detail

clear

public void clear()
Description copied from interface: AggregationMethod
Clear out the collection.

Specified by:
clear in interface AggregationMethod

enter

public void enter(java.lang.Object value)
Description copied from interface: AggregationMethod
Apply the value as entering aggregation (entering window).

The value can be null since 'null' values may be counted as unique separate values.

Specified by:
enter in interface AggregationMethod
Parameters:
value - to add to aggregate

leave

public void leave(java.lang.Object value)
Description copied from interface: AggregationMethod
Apply the value as leaving aggregation (leaving window).

The value can be null since 'null' values may be counted as unique separate values.

Specified by:
leave in interface AggregationMethod
Parameters:
value - to remove from aggregate

getValue

public java.lang.Object getValue()
Description copied from interface: AggregationMethod
Returns the current value held.

Specified by:
getValue in interface AggregationMethod
Returns:
current value

getValueType

public java.lang.Class getValueType()
Description copied from interface: AggregationMethod
Returns the type of the current value.

Specified by:
getValueType in interface AggregationMethod
Returns:
type of values held

© 2006-2015 EsperTech Inc.
All rights reserved.
Visit us at espertech.com