package gov.nih.nci.cagrid.common; import java.util.concurrent.CountDownLatch; /** * @author <A href="mailto:langella@bmi.osu.edu">Stephen Langella</A> * @author <A href="mailto:hastings@bmi.osu.edu">Shannon Hastings</A> * @author <A href="mailto:oster@bmi.osu.edu">Scott Oster</A> * @author <A HREF="MAILTO:ervin@bmi.osu.edu">David W. Ervin </A> * @created Dec 18, 2003 * @version $Id: Runner.java,v 1.2 2007-04-05 16:42:58 langella Exp $ */ public abstract class Runner implements java.lang.Runnable { private CountDownLatch sync; public abstract void execute(); public final void run() { try { this.execute(); } finally { if (sync != null) { sync.countDown(); } } } protected final void setSync(CountDownLatch counter) { this.sync = counter; } }