// This software is released into the Public Domain. See copying.txt for details. package org.openstreetmap.osmosis.set.v0_6.impl; import java.util.Map; import org.openstreetmap.osmosis.core.container.v0_6.EntityContainer; import org.openstreetmap.osmosis.core.store.DataPostbox; import org.openstreetmap.osmosis.core.task.v0_6.Sink; /** * A sink that writes all of its data to a postbox to be read by another thread. * * @author Brett Henderson */ public class DataPostboxSink implements Sink { private DataPostbox<EntityContainer> postbox; /** * Creates a new instance. * * @param postbox * The postbox to write all incoming data into. */ public DataPostboxSink(DataPostbox<EntityContainer> postbox) { this.postbox = postbox; } /** * {@inheritDoc} */ @Override public void initialize(Map<String, Object> metaData) { postbox.initialize(metaData); } /** * {@inheritDoc} */ @Override public void process(EntityContainer entity) { postbox.put(entity); } /** * {@inheritDoc} */ @Override public void complete() { postbox.complete(); } /** * {@inheritDoc} */ @Override public void close() { postbox.close(); } }