Class DelegatingAggregator

java.lang.Object
org.apache.druid.query.aggregation.DelegatingAggregator
All Implemented Interfaces:
Closeable, AutoCloseable, Aggregator
Direct Known Subclasses:
ObjectColumnDoubleAggregatorWrapper, ObjectColumnFloatAggregatorWrapper, ObjectColumnLongAggregatorWrapper

public abstract class DelegatingAggregator extends Object implements Aggregator
An Aggregator that delegates everything. It is used by Aggregator wrappers e.g. ObjectColumnDoubleAggregatorWrapper that modify some behavior of a delegate.
  • Field Details

  • Constructor Details

    • DelegatingAggregator

      public DelegatingAggregator()
  • Method Details

    • aggregate

      public void aggregate()
      Description copied from interface: Aggregator
      Performs aggregation.
      Specified by:
      aggregate in interface Aggregator
    • get

      @Nullable public Object get()
      Specified by:
      get in interface Aggregator
    • getFloat

      public float getFloat()
      Specified by:
      getFloat in interface Aggregator
    • getLong

      public long getLong()
      Specified by:
      getLong in interface Aggregator
    • getDouble

      public double getDouble()
      Description copied from interface: Aggregator
      The default implementation casts Aggregator.getFloat() to double. This default method is added to enable smooth backward compatibility, please re-implement it if your aggregators work with numeric double columns.
      Specified by:
      getDouble in interface Aggregator
    • isNull

      public boolean isNull()
      Description copied from interface: Aggregator
      returns true if aggregator's output type is primitive long/double/float and aggregated value is null, but when aggregated output type is Object, this method always returns false, and users are advised to check nullability for the object returned by Aggregator.get() method. The default implementation always return false to enable smooth backward compatibility, re-implement if your aggregator is nullable.
      Specified by:
      isNull in interface Aggregator
    • close

      public void close()
      Specified by:
      close in interface Aggregator
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable