package rhogenwizard.sdk.task; import org.eclipse.core.runtime.IProgressMonitor; public class SeqRunTask extends RunTask { private final IRunTask m_tasks[]; private boolean m_isOk; public SeqRunTask(IRunTask... tasks) { m_tasks = tasks; m_isOk = true; } @Override public boolean isOk() { return m_isOk; } @Override public void run(IProgressMonitor monitor) { for (IRunTask task : m_tasks) { if (monitor.isCanceled()) { throw new StoppedException(); } task.run(monitor); if (!task.isOk()) { m_isOk = false; break; } } } }