public final class NullableAggregator extends Object implements Aggregator
BaseNullableColumnValueSelector.isNull() on the selector as only non-null values will be passed
to the delegate aggregator. This class is only used when SQL compatible null handling is enabled.| Constructor and Description |
|---|
NullableAggregator(Aggregator delegate,
BaseNullableColumnValueSelector selector) |
| Modifier and Type | Method and Description |
|---|---|
void |
aggregate() |
void |
close() |
Object |
get() |
double |
getDouble()
The default implementation casts
Aggregator.getFloat() to double. |
float |
getFloat() |
long |
getLong() |
boolean |
isNull()
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. |
public NullableAggregator(Aggregator delegate, BaseNullableColumnValueSelector selector)
public void aggregate()
aggregate in interface Aggregator@Nullable public Object get()
get in interface Aggregatorpublic float getFloat()
getFloat in interface Aggregatorpublic long getLong()
getLong in interface Aggregatorpublic double getDouble()
AggregatorAggregator.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.getDouble in interface Aggregatorpublic boolean isNull()
AggregatorAggregator.get()
method.
The default implementation always return false to enable smooth backward compatibility,
re-implement if your aggregator is nullable.isNull in interface Aggregatorpublic void close()
close in interface Closeableclose in interface AutoCloseableclose in interface AggregatorCopyright © 2011–2019 The Apache Software Foundation. All rights reserved.