package com.revolsys.gis.parallel; import com.revolsys.parallel.channel.Channel; import com.revolsys.record.Record; import com.revolsys.util.count.LabelCountMap; public class StatisticsRecordIterableProcess extends IterableProcess<Record> { private LabelCountMap labelCountMap; public StatisticsRecordIterableProcess() { } @Override protected void destroy() { super.destroy(); if (this.labelCountMap != null) { this.labelCountMap.disconnect(); this.labelCountMap = null; } } public LabelCountMap getStatistics() { return this.labelCountMap; } public void setStatistics(final LabelCountMap labelCountMap) { this.labelCountMap = labelCountMap; if (labelCountMap != null) { labelCountMap.connect(); } } @Override protected void write(final Channel<Record> out, final Record record) { if (record != null) { this.labelCountMap.addCount(record); out.write(record); } } }