package au.com.vaadinutils.jasper.scheduler; import java.io.IOException; import java.util.Date; import javax.mail.internet.AddressException; import org.apache.commons.mail.EmailException; import au.com.vaadinutils.jasper.JasperEmailSettings; public interface ReportEmailRunner { /** * * @param schedule * @param scheduleTime * @param emailSettings * @return true if the report was run, false if the system is busy and the report should be tried again later * @throws InterruptedException * @throws IOException * @throws EmailException * @throws InstantiationException * @throws IllegalAccessException * @throws AddressException * @throws ClassNotFoundException */ public boolean runReport(ReportEmailSchedule schedule, Date scheduleTime, JasperEmailSettings emailSettings) throws InterruptedException, IOException, EmailException, InstantiationException, IllegalAccessException, AddressException, ClassNotFoundException; }