package mil.nga.giat.geowave.core.store.query.aggregate;
import mil.nga.giat.geowave.core.index.PersistenceUtils;
import mil.nga.giat.geowave.core.store.adapter.statistics.DataStatistics;
public class DataStatisticsAggregation<T> implements
Aggregation<DataStatistics<T>, DataStatistics<T>, T>
{
private DataStatistics<T> statisticsParam;
private DataStatistics<T> statisticsResult;
private final byte[] defaultResultBinary;
public DataStatisticsAggregation(
final DataStatistics<T> statistics ) {
this.statisticsResult = statistics;
this.defaultResultBinary = PersistenceUtils.toBinary(statisticsResult);
this.statisticsParam = statistics;
}
@Override
public void aggregate(
final T entry ) {
statisticsResult.entryIngested(
null,
entry);
}
@Override
public DataStatistics<T> getParameters() {
return statisticsParam;
}
@Override
public void setParameters(
final DataStatistics<T> parameters ) {
this.statisticsParam = parameters;
}
@Override
public void clearResult() {
this.statisticsResult = PersistenceUtils.fromBinary(
defaultResultBinary,
DataStatistics.class);
}
@Override
public DataStatistics<T> getResult() {
return statisticsResult;
}
}