1 package org.daisy.pipeline.tts.scheduler;
2
3 /**
4 * Schedulable action interface, used by Scheduler implementation.
5 *
6 * <p>A schedulable action must be rescheduled if a RecoverableError is raised.</p>
7 */
8 public interface Schedulable {
9 /**
10 * Execute the action
11 *
12 * @throws InterruptedException if the action thread is interrupted
13 * @throws RecoverableError if the error is recoverable, so that the action can be rescheduled
14 * @throws FatalError if the action cannot be rescheduled
15 */
16 public void launch() throws InterruptedException, RecoverableError, FatalError;
17 }