package mil.nga.giat.geowave.core.store.query.aggregate;
import mil.nga.giat.geowave.core.index.Persistable;
import mil.nga.giat.geowave.core.store.data.CommonIndexedPersistenceEncoding;
public class CountAggregation implements
CommonIndexAggregation<Persistable, CountResult>
{
private long count = Long.MIN_VALUE;
public CountAggregation() {}
public boolean isSet() {
return count != Long.MIN_VALUE;
}
@Override
public String toString() {
final StringBuffer buffer = new StringBuffer();
buffer.append(
"count[count=").append(
count);
buffer.append("]");
return buffer.toString();
}
@Override
public void aggregate(
final CommonIndexedPersistenceEncoding entry ) {
if (!isSet()) {
count = 0;
}
count += 1;
}
@Override
public Persistable getParameters() {
return null;
}
@Override
public CountResult getResult() {
if (!isSet()) {
return null;
}
return new CountResult(
count);
}
@Override
public void setParameters(
final Persistable parameters ) {}
@Override
public void clearResult() {
count = 0;
}
}