package hudson.plugins.emailext.plugins; import hudson.model.AbstractBuild; import hudson.plugins.emailext.EmailType; import hudson.plugins.emailext.ExtendedEmailPublisher; public abstract class EmailTrigger { private EmailType email; /** * Implementors of this method need to return true if the conditions to trigger * an email have been met. * @param build The Build object after the project has been built * @return true if the conditions have been met to trigger a build of this type */ public abstract boolean trigger(AbstractBuild<?,?> build); /** * Get the email that is with this trigger. * @return the email */ public EmailType getEmail() { return email; } public void setEmail(EmailType email) { if (email == null) { email = new EmailType(); email.setBody(ExtendedEmailPublisher.PROJECT_DEFAULT_BODY_TEXT); email.setSubject(ExtendedEmailPublisher.PROJECT_DEFAULT_SUBJECT_TEXT); } this.email = email; } public abstract EmailTriggerDescriptor getDescriptor(); public boolean getDefaultSendToList() { return false; } public boolean getDefaultSendToDevs() { return false; } /** * Should this trigger run before the build? Defaults to false. */ public boolean isPreBuild() { return false; } }