package comp314.interfaces; /** * * @author Daniel Buchanan * */ public interface IPipelineModule { /** * Sets the module's input data. * @param data Input data */ void setData(IData data); /** * Runs the module and returns its result. * @return result */ IData run(); /** * Set input data and run module. * * @param data Input data * @return Output data */ IData run(IData data); /** * Sets the status reporter. * @param reporter Status Reporter */ void setReporter(IReporter reporter); /** * Gets the input data. * @return the input data */ IData getData(); /** * Gets the result, after you have called run(). * @return the result */ IData getResult(); /** * Sets module options. * @param options Module Options */ void setOptions(IData options); }