package org.celllife.idart.misc.task;
import org.eclipse.core.runtime.IProgressMonitor;
/**
* Represents and generic task
*/
public interface IdartTask {
/**
* Initialise the task.
*
* @param arg
* an array of arguments from the command line
* @return true if initialisation succeeded
*/
public abstract boolean init(String[] args);
/**
* Executes the task
*
* @param monitor
*
* @throws TaskException
* if the task fails
*/
public abstract void run(IProgressMonitor monitor) throws TaskException;
/**
* Called if initialisation fails and printed to output.
*
* @return help text to display to user
*/
public abstract String getHelpText();
/**
* Short task description. Used when printing out list of available tasks
*/
public abstract String getDescription();
}