package com.revolsys.gis.parallel;
import com.revolsys.parallel.channel.Channel;
import com.revolsys.parallel.process.BaseInOutProcess;
import com.revolsys.record.Record;
import com.revolsys.util.count.LabelCountMap;
public class StatisticsProcess extends BaseInOutProcess<Record, Record> {
private LabelCountMap labelCountMap;
@Override
protected void postRun(final Channel<Record> in, final Channel<Record> out) {
if (this.labelCountMap != null) {
this.labelCountMap.disconnect();
}
}
@Override
protected void preRun(final Channel<Record> in, final Channel<Record> out) {
this.labelCountMap = new LabelCountMap(getBeanName());
this.labelCountMap.connect();
}
@Override
protected void process(final Channel<Record> in, final Channel<Record> out, final Record object) {
this.labelCountMap.addCount(object);
out.write(object);
}
}