package com.revolsys.gis.parallel; import com.revolsys.geometry.model.Geometry; import com.revolsys.parallel.channel.Channel; import com.revolsys.parallel.process.BaseInOutProcess; import com.revolsys.record.Record; import com.revolsys.record.Records; public class GeometryBufferProcess extends BaseInOutProcess<Record, Record> { private int buffer; public int getBuffer() { return this.buffer; } @Override protected void process(final Channel<Record> in, final Channel<Record> out, final Record object) { final Geometry geometry = object.getGeometry(); if (geometry == null) { out.write(object); } else { final Geometry bufferedGeometry = geometry.buffer(this.buffer); final Record newObject = Records.copy(object, bufferedGeometry); out.write(newObject); } } public void setBuffer(final int buffer) { this.buffer = buffer; } }