diff --git a/extensions/histogram/src/main/java/io/druid/query/aggregation/histogram/ApproximateHistogramAggregatorFactory.java b/extensions/histogram/src/main/java/io/druid/query/aggregation/histogram/ApproximateHistogramAggregatorFactory.java index 890ba457f1d..236a24a5659 100644 --- a/extensions/histogram/src/main/java/io/druid/query/aggregation/histogram/ApproximateHistogramAggregatorFactory.java +++ b/extensions/histogram/src/main/java/io/druid/query/aggregation/histogram/ApproximateHistogramAggregatorFactory.java @@ -39,7 +39,7 @@ import java.util.Comparator; import java.util.List; @JsonTypeName("approxHistogram") -public class ApproximateHistogramAggregatorFactory implements AggregatorFactory +public class ApproximateHistogramAggregatorFactory extends AggregatorFactory { private static final byte CACHE_TYPE_ID = 0x8; diff --git a/processing/src/main/java/io/druid/query/aggregation/AggregatorFactory.java b/processing/src/main/java/io/druid/query/aggregation/AggregatorFactory.java index 81ea7dd185e..bc5c3fb98df 100644 --- a/processing/src/main/java/io/druid/query/aggregation/AggregatorFactory.java +++ b/processing/src/main/java/io/druid/query/aggregation/AggregatorFactory.java @@ -34,13 +34,13 @@ import java.util.List; * provided to the Aggregator through the MetricSelector object, so whatever creates that object gets to choose how * the data is actually stored and accessed. */ -public interface AggregatorFactory +public abstract class AggregatorFactory { - public Aggregator factorize(ColumnSelectorFactory metricFactory); + public abstract Aggregator factorize(ColumnSelectorFactory metricFactory); - public BufferAggregator factorizeBuffered(ColumnSelectorFactory metricFactory); + public abstract BufferAggregator factorizeBuffered(ColumnSelectorFactory metricFactory); - public Comparator getComparator(); + public abstract Comparator getComparator(); /** * A method that knows how to combine the outputs of the getIntermediate() method from the Aggregators @@ -53,7 +53,7 @@ public interface AggregatorFactory * * @return an object representing the combination of lhs and rhs, this can be a new object or a mutation of the inputs */ - public Object combine(Object lhs, Object rhs); + public abstract Object combine(Object lhs, Object rhs); /** * Returns an AggregatorFactory that can be used to combine the output of aggregators from this factory. This @@ -62,14 +62,14 @@ public interface AggregatorFactory * * @return a new Factory that can be used for operations on top of data output from the current factory. */ - public AggregatorFactory getCombiningFactory(); + public abstract AggregatorFactory getCombiningFactory(); /** * Gets a list of all columns that this AggregatorFactory will scan * * @return AggregatorFactories for the columns to scan of the parent AggregatorFactory */ - public List getRequiredColumns(); + public abstract List getRequiredColumns(); /** * A method that knows how to "deserialize" the object from whatever form it might have been put into @@ -79,7 +79,7 @@ public interface AggregatorFactory * * @return the deserialized object */ - public Object deserialize(Object object); + public abstract Object deserialize(Object object); /** * "Finalizes" the computation of an object. Primarily useful for complex types that have a different mergeable @@ -89,27 +89,27 @@ public interface AggregatorFactory * * @return the finalized value that should be returned for the initial query */ - public Object finalizeComputation(Object object); + public abstract Object finalizeComputation(Object object); - public String getName(); + public abstract String getName(); - public List requiredFields(); + public abstract List requiredFields(); - public byte[] getCacheKey(); + public abstract byte[] getCacheKey(); - public String getTypeName(); + public abstract String getTypeName(); /** * Returns the maximum size that this aggregator will require in bytes for intermediate storage of results. * * @return the maximum number of bytes that an aggregator of this type will require for intermediate result storage. */ - public int getMaxIntermediateSize(); + public abstract int getMaxIntermediateSize(); /** * Returns the starting value for a corresponding aggregator. For example, 0 for sums, - Infinity for max, an empty mogrifier * * @return the starting value for a corresponding aggregator. */ - public Object getAggregatorStartValue(); + public abstract Object getAggregatorStartValue(); } diff --git a/processing/src/main/java/io/druid/query/aggregation/CountAggregatorFactory.java b/processing/src/main/java/io/druid/query/aggregation/CountAggregatorFactory.java index 4bf2018f3b4..1f12a5d59df 100644 --- a/processing/src/main/java/io/druid/query/aggregation/CountAggregatorFactory.java +++ b/processing/src/main/java/io/druid/query/aggregation/CountAggregatorFactory.java @@ -32,7 +32,7 @@ import java.util.List; /** */ -public class CountAggregatorFactory implements AggregatorFactory +public class CountAggregatorFactory extends AggregatorFactory { private static final byte[] CACHE_KEY = new byte[]{0x0}; private final String name; diff --git a/processing/src/main/java/io/druid/query/aggregation/DoubleMaxAggregatorFactory.java b/processing/src/main/java/io/druid/query/aggregation/DoubleMaxAggregatorFactory.java index 50dd2a49fb4..29d4d40e52b 100644 --- a/processing/src/main/java/io/druid/query/aggregation/DoubleMaxAggregatorFactory.java +++ b/processing/src/main/java/io/druid/query/aggregation/DoubleMaxAggregatorFactory.java @@ -33,7 +33,7 @@ import java.util.List; /** */ -public class DoubleMaxAggregatorFactory implements AggregatorFactory +public class DoubleMaxAggregatorFactory extends AggregatorFactory { private static final byte CACHE_TYPE_ID = 0x3; diff --git a/processing/src/main/java/io/druid/query/aggregation/DoubleMinAggregatorFactory.java b/processing/src/main/java/io/druid/query/aggregation/DoubleMinAggregatorFactory.java index af98615a9a9..d6cb708e66b 100644 --- a/processing/src/main/java/io/druid/query/aggregation/DoubleMinAggregatorFactory.java +++ b/processing/src/main/java/io/druid/query/aggregation/DoubleMinAggregatorFactory.java @@ -33,7 +33,7 @@ import java.util.List; /** */ -public class DoubleMinAggregatorFactory implements AggregatorFactory +public class DoubleMinAggregatorFactory extends AggregatorFactory { private static final byte CACHE_TYPE_ID = 0x4; diff --git a/processing/src/main/java/io/druid/query/aggregation/DoubleSumAggregatorFactory.java b/processing/src/main/java/io/druid/query/aggregation/DoubleSumAggregatorFactory.java index 0cf3e5a5ef0..a7a1079fadb 100644 --- a/processing/src/main/java/io/druid/query/aggregation/DoubleSumAggregatorFactory.java +++ b/processing/src/main/java/io/druid/query/aggregation/DoubleSumAggregatorFactory.java @@ -33,7 +33,7 @@ import java.util.List; /** */ -public class DoubleSumAggregatorFactory implements AggregatorFactory +public class DoubleSumAggregatorFactory extends AggregatorFactory { private static final byte CACHE_TYPE_ID = 0x2; diff --git a/processing/src/main/java/io/druid/query/aggregation/FilteredAggregatorFactory.java b/processing/src/main/java/io/druid/query/aggregation/FilteredAggregatorFactory.java index 9fa42c9c31c..8ee215677c3 100644 --- a/processing/src/main/java/io/druid/query/aggregation/FilteredAggregatorFactory.java +++ b/processing/src/main/java/io/druid/query/aggregation/FilteredAggregatorFactory.java @@ -30,7 +30,7 @@ import java.nio.ByteBuffer; import java.util.Comparator; import java.util.List; -public class FilteredAggregatorFactory implements AggregatorFactory +public class FilteredAggregatorFactory extends AggregatorFactory { private static final byte CACHE_TYPE_ID = 0x9; diff --git a/processing/src/main/java/io/druid/query/aggregation/HistogramAggregatorFactory.java b/processing/src/main/java/io/druid/query/aggregation/HistogramAggregatorFactory.java index 7a7ae283d0d..318158f5151 100644 --- a/processing/src/main/java/io/druid/query/aggregation/HistogramAggregatorFactory.java +++ b/processing/src/main/java/io/druid/query/aggregation/HistogramAggregatorFactory.java @@ -34,7 +34,7 @@ import java.util.Arrays; import java.util.Comparator; import java.util.List; -public class HistogramAggregatorFactory implements AggregatorFactory +public class HistogramAggregatorFactory extends AggregatorFactory { private static final byte CACHE_TYPE_ID = 0x7; diff --git a/processing/src/main/java/io/druid/query/aggregation/JavaScriptAggregatorFactory.java b/processing/src/main/java/io/druid/query/aggregation/JavaScriptAggregatorFactory.java index 5a30c6c8374..78a4f16b7ab 100644 --- a/processing/src/main/java/io/druid/query/aggregation/JavaScriptAggregatorFactory.java +++ b/processing/src/main/java/io/druid/query/aggregation/JavaScriptAggregatorFactory.java @@ -42,7 +42,7 @@ import java.security.NoSuchAlgorithmException; import java.util.Comparator; import java.util.List; -public class JavaScriptAggregatorFactory implements AggregatorFactory +public class JavaScriptAggregatorFactory extends AggregatorFactory { private static final byte CACHE_TYPE_ID = 0x6; diff --git a/processing/src/main/java/io/druid/query/aggregation/LongMaxAggregatorFactory.java b/processing/src/main/java/io/druid/query/aggregation/LongMaxAggregatorFactory.java index 78a7c8c1c81..7878d2ba8be 100644 --- a/processing/src/main/java/io/druid/query/aggregation/LongMaxAggregatorFactory.java +++ b/processing/src/main/java/io/druid/query/aggregation/LongMaxAggregatorFactory.java @@ -33,7 +33,7 @@ import java.util.List; /** */ -public class LongMaxAggregatorFactory implements AggregatorFactory +public class LongMaxAggregatorFactory extends AggregatorFactory { private static final byte CACHE_TYPE_ID = 0xA; diff --git a/processing/src/main/java/io/druid/query/aggregation/LongMinAggregatorFactory.java b/processing/src/main/java/io/druid/query/aggregation/LongMinAggregatorFactory.java index 4c31189c1da..113169a9f50 100644 --- a/processing/src/main/java/io/druid/query/aggregation/LongMinAggregatorFactory.java +++ b/processing/src/main/java/io/druid/query/aggregation/LongMinAggregatorFactory.java @@ -33,7 +33,7 @@ import java.util.List; /** */ -public class LongMinAggregatorFactory implements AggregatorFactory +public class LongMinAggregatorFactory extends AggregatorFactory { private static final byte CACHE_TYPE_ID = 0xB; diff --git a/processing/src/main/java/io/druid/query/aggregation/LongSumAggregatorFactory.java b/processing/src/main/java/io/druid/query/aggregation/LongSumAggregatorFactory.java index 17bf61093ca..6aa639f2703 100644 --- a/processing/src/main/java/io/druid/query/aggregation/LongSumAggregatorFactory.java +++ b/processing/src/main/java/io/druid/query/aggregation/LongSumAggregatorFactory.java @@ -33,7 +33,7 @@ import java.util.List; /** */ -public class LongSumAggregatorFactory implements AggregatorFactory +public class LongSumAggregatorFactory extends AggregatorFactory { private static final byte CACHE_TYPE_ID = 0x1; diff --git a/processing/src/main/java/io/druid/query/aggregation/cardinality/CardinalityAggregatorFactory.java b/processing/src/main/java/io/druid/query/aggregation/cardinality/CardinalityAggregatorFactory.java index 6b177116e03..964e59080d4 100644 --- a/processing/src/main/java/io/druid/query/aggregation/cardinality/CardinalityAggregatorFactory.java +++ b/processing/src/main/java/io/druid/query/aggregation/cardinality/CardinalityAggregatorFactory.java @@ -43,7 +43,7 @@ import java.nio.ByteBuffer; import java.util.Comparator; import java.util.List; -public class CardinalityAggregatorFactory implements AggregatorFactory +public class CardinalityAggregatorFactory extends AggregatorFactory { public static Object estimateCardinality(Object object) { diff --git a/processing/src/main/java/io/druid/query/aggregation/hyperloglog/HyperUniquesAggregatorFactory.java b/processing/src/main/java/io/druid/query/aggregation/hyperloglog/HyperUniquesAggregatorFactory.java index 7825de72e03..b78bf4ec160 100644 --- a/processing/src/main/java/io/druid/query/aggregation/hyperloglog/HyperUniquesAggregatorFactory.java +++ b/processing/src/main/java/io/druid/query/aggregation/hyperloglog/HyperUniquesAggregatorFactory.java @@ -38,7 +38,7 @@ import java.util.List; /** */ -public class HyperUniquesAggregatorFactory implements AggregatorFactory +public class HyperUniquesAggregatorFactory extends AggregatorFactory { public static Object estimateCardinality(Object object) {