package org.atomnuke.task; import org.atomnuke.task.polling.PollingController; /** * A managed task represents a runnable scheduled delegate. This is the primary descriptor of work in the Nuke scheduler. Every runnable delegate registered to * the Nuke scheduler is wrapped in this interface to make scheduling simpler. * * @see TaskLifeCycle * * @author zinic */ public interface ManagedTask<T extends TaskHandle> extends Runnable { /** * Returns the task handle that this managed task manages. * * @return the handle of the task that this managed task manages. */ T handle(); /** * Returns the controller object that will tell the system when this task may be polled. * * @return */ PollingController pollingController(); }