package com.revolsys.gis.parallel;
import com.revolsys.io.Writer;
import com.revolsys.parallel.channel.Channel;
import com.revolsys.parallel.process.BaseInProcess;
import com.revolsys.record.Record;
public class WriterProcess extends BaseInProcess<Record> {
private Writer<Record> writer;
public WriterProcess() {
}
public WriterProcess(final Channel<Record> in, final Writer<Record> writer) {
super(in);
this.writer = writer;
}
public WriterProcess(final Writer<Record> writer) {
this.writer = writer;
}
public WriterProcess(final Writer<Record> writer, final int inBufferSize) {
super(inBufferSize);
this.writer = writer;
}
/**
* @return the writer
*/
public Writer<Record> getWriter() {
return this.writer;
}
@Override
protected void postRun(final Channel<Record> in) {
this.writer.close();
}
@Override
protected void process(final Channel<Record> in, final Record record) {
write(record);
}
public void setWriter(final Writer<Record> writer) {
this.writer = writer;
}
public void write(final Record record) {
this.writer.write(record);
}
}