// This software is released into the Public Domain. See copying.txt for details. package org.openstreetmap.osmosis.core.task.v0_6; import java.util.Map; import org.openstreetmap.osmosis.core.lifecycle.Completable; /** * This interface defines methods required to manage class lifecycles. All * clients must first call the initialize method, then the implementation * specific processing methods, then complete, and finally the release method. * It may be possible to call initialize multiple times, but each call must be * matched by a call to complete. Release must be called at the completion of * all processing. It may be possible to call release multiple times, but * initialize must be called again before processing can proceed. * * @author Brett Henderson */ public interface Initializable extends Completable { /** * Initialize the object. Any global information applicable to this * processing phase can be generically set as meta data. * * @param metaData * Meta data applicable to this pipeline invocation. */ void initialize(Map<String, Object> metaData); }