adams.flow.sink
Class SendEmail

java.lang.Object
  extended by adams.core.ConsoleObject
      extended by adams.core.option.AbstractOptionHandler
          extended by adams.flow.core.AbstractActor
              extended by adams.flow.sink.AbstractSink
                  extended by adams.flow.sink.SendEmail
All Implemented Interfaces:
AdditionalInformationHandler, CleanUpHandler, Debuggable, DebugOutputHandler, Destroyable, OptionHandler, QuickInfoSupporter, ShallowCopySupporter<AbstractActor>, SizeOfHandler, Stoppable, VariableChangeListener, Actor, ErrorHandler, InputConsumer, Serializable, Comparable

public class SendEmail
extends AbstractSink

Actor for sending emails. The (optional) attachments are taken from the input.
Variables in 'subject', 'body' and 'signature' are automatically replaced whenever the actor is executed.

Valid options are:

-D <int> (property: debugLevel)
    The greater the number the more additional info the scheme may output to 
    the console (0 = off).
    default: 0
    minimum: 0
 
-name <java.lang.String> (property: name)
    The name of the actor.
    default: Email
 
-annotation <adams.core.base.BaseText> (property: annotations)
    The annotations to attach to this actor.
    default: 
 
-skip (property: skip)
    If set to true, transformation is skipped and the input token is just forwarded 
    as it is.
 
-stop-flow-on-error (property: stopFlowOnError)
    If set to true, the flow gets stopped in case this actor encounters an error;
     useful for critical actors.
 
-sender <adams.core.net.EmailAddress> (property: sender)
    The sender address to use.
 
-recipient <adams.core.net.EmailAddress> [-recipient ...] (property: recipients)
    The recipients to send the email to.
    default: 
 
-cc <adams.core.net.EmailAddress> [-cc ...] (property: CC)
    The CC recipients to send the email to.
    default: 
 
-bcc <adams.core.net.EmailAddress> [-bcc ...] (property: BCC)
    The BCC recipients to send the email to.
    default: 
 
-subject <java.lang.String> (property: subject)
    The subject of the email.
    default: 
 
-body <adams.core.base.BaseText> (property: body)
    The body of the email.
    default: 
 
-signature <adams.core.base.BaseText> (property: signature)
    The signature of the email, gets separated by an extra line consisting of 
    '--'.
    default: Peter Reutemann, Dept. of Computer Science, University of Waikato, NZ\\nhttp://www.cms.waikato.ac.nz/~fracpete/          Ph. +64 (7) 858-5174
 
-send-email <adams.core.net.AbstractSendEmail> (property: sendEmail)
    The engine for sending the emails.
    default: adams.core.net.JavaMailSendEmail
 
-queue (property: queue)
    Whether to queue the emails rather than waiting for them to be sent.
 

Version:
$Revision: 7123 $
Author:
fracpete (fracpete at waikato dot ac dot nz)
See Also:
Serialized Form

Field Summary
protected  boolean m_Queue
          whether to queue the emails rather than waiting for sending to finish.
protected  AbstractSendEmail m_SendEmail
          for sending the emails.
protected  List<SwingWorker> m_Sending
          the emails still to send.
 
Fields inherited from class adams.flow.sink.AbstractSink
BACKUP_INPUT, m_InputToken
 
Fields inherited from class adams.flow.core.AbstractActor
m_Annotations, m_BackupState, m_DetectedObjectVariables, m_DetectedVariables, m_ErrorHandler, m_Executed, m_Executing, m_ExecutionListeningSupporter, m_FullName, m_Headless, m_Name, m_Parent, m_Root, m_ScopeHandler, m_Self, m_Skip, m_StopFlowOnError, m_StopMessage, m_Stopped, m_StorageHandler, m_VariablesUpdated
 
Fields inherited from class adams.core.option.AbstractOptionHandler
m_DebugLevel, m_OptionManager
 
Fields inherited from interface adams.flow.core.Actor
FILE_EXTENSION, FILE_EXTENSION_GZ
 
Constructor Summary
SendEmail()
           
 
Method Summary
 Class[] accepts()
          Returns the class that the consumer accepts.
 void defineOptions()
          Adds options to the internal list of options.
protected  String doExecute()
          Executes the flow item.
 boolean getQueue()
          Returns whether the emails are queue rather than being waited on.
 String getQuickInfo()
          Returns a quick info about the actor, which will be displayed in the GUI.
 AbstractSendEmail getSendEmail()
          Returns the object for sending emails.
 String globalInfo()
          Returns a string describing the object.
protected  void initialize()
          Initializes the members.
protected  void initSession()
          Initializes the SMTP session if required.
 String queueTipText()
          Returns the tip text for this property.
 String sendEmailTipText()
          Returns the tip text for this property.
 void setQueue(boolean value)
          Sets whether to queue the emails rather than waiting for each to be sent.
 void setSendEmail(AbstractSendEmail value)
          Sets the object for sending emails.
 String setUp()
          Initializes the item for flow execution.
 void stopExecution()
          Stops the execution.
 void wrapUp()
          Cleans up after the execution has finished.
 
Methods inherited from class adams.flow.sink.AbstractSink
backupState, input, restoreState
 
Methods inherited from class adams.flow.core.AbstractActor
annotationsTipText, canInspectOptions, canPerformSetUpCheck, cleanUp, compareTo, debug, destroy, equals, execute, findVariables, findVariables, findVariables, forceVariables, forCommandLine, forName, getAdditionalInformation, getAnnotations, getDefaultName, getDetectedVariables, getErrorHandler, getFlowActors, getFlowExecutionListeningSupporter, getFullName, getName, getNextSibling, getParent, getParentComponent, getPreviousSibling, getRoot, getScopeHandler, getSkip, getStopFlowOnError, getStopMessage, getStorageHandler, getVariables, handleError, handleException, hasErrorHandler, hasStopMessage, index, isBackedUp, isExecuted, isExecuting, isFinished, isHeadless, isStopped, nameTipText, performSetUpChecks, postExecute, preExecute, pruneBackup, pruneBackup, reset, setAnnotations, setErrorHandler, setHeadless, setName, setParent, setSkip, setStopFlowOnError, setVariables, shallowCopy, shallowCopy, sizeOf, skipTipText, stopExecution, stopFlowOnErrorTipText, updateDetectedVariables, updatePrefix, updateVariables, variableChanged
 
Methods inherited from class adams.core.option.AbstractOptionHandler
cleanUpOptions, debug, debugLevelTipText, finishInit, getDebugLevel, getOptionManager, isDebugOn, newOptionManager, setDebugLevel, toCommandLine, toString
 
Methods inherited from class adams.core.ConsoleObject
getDebugging, getSystemErr, getSystemOut
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface adams.flow.core.Actor
cleanUp, compareTo, debug, destroy, equals, execute, findVariables, getAnnotations, getDefaultName, getDetectedVariables, getErrorHandler, getFlowExecutionListeningSupporter, getFullName, getName, getNextSibling, getParent, getParentComponent, getPreviousSibling, getRoot, getScopeHandler, getSkip, getStopFlowOnError, getStopMessage, getStorageHandler, getVariables, handleError, hasErrorHandler, hasStopMessage, index, isExecuted, isFinished, isHeadless, isStopped, setAnnotations, setErrorHandler, setHeadless, setName, setParent, setSkip, setStopFlowOnError, setVariables, sizeOf, stopExecution, variableChanged
 
Methods inherited from interface adams.core.AdditionalInformationHandler
getAdditionalInformation
 
Methods inherited from interface adams.core.option.OptionHandler
cleanUpOptions, getOptionManager
 

Field Detail

m_SendEmail

protected AbstractSendEmail m_SendEmail
for sending the emails.


m_Queue

protected boolean m_Queue
whether to queue the emails rather than waiting for sending to finish.


m_Sending

protected List<SwingWorker> m_Sending
the emails still to send.

Constructor Detail

SendEmail

public SendEmail()
Method Detail

globalInfo

public String globalInfo()
Returns a string describing the object.

Specified by:
globalInfo in class AbstractOptionHandler
Returns:
a description suitable for displaying in the gui

defineOptions

public void defineOptions()
Adds options to the internal list of options.

Specified by:
defineOptions in interface OptionHandler
Overrides:
defineOptions in class AbstractActor

initialize

protected void initialize()
Initializes the members.

Overrides:
initialize in class AbstractActor

getQuickInfo

public String getQuickInfo()
Returns a quick info about the actor, which will be displayed in the GUI.

Specified by:
getQuickInfo in interface QuickInfoSupporter
Specified by:
getQuickInfo in interface Actor
Overrides:
getQuickInfo in class AbstractActor
Returns:
null if no info available, otherwise short string

setSendEmail

public void setSendEmail(AbstractSendEmail value)
Sets the object for sending emails.

Parameters:
value - the object

getSendEmail

public AbstractSendEmail getSendEmail()
Returns the object for sending emails.

Returns:
the object

sendEmailTipText

public String sendEmailTipText()
Returns the tip text for this property.

Returns:
tip text for this property suitable for displaying in the GUI or for listing the options.

setQueue

public void setQueue(boolean value)
Sets whether to queue the emails rather than waiting for each to be sent.

Parameters:
value - true if to queue

getQueue

public boolean getQueue()
Returns whether the emails are queue rather than being waited on.

Returns:
true if to queue

queueTipText

public String queueTipText()
Returns the tip text for this property.

Returns:
tip text for this property suitable for displaying in the GUI or for listing the options.

accepts

public Class[] accepts()
Returns the class that the consumer accepts.

Returns:
java.lang.String.class, java.lang.String[].class, java.io.File.class, java.io.File[].class

setUp

public String setUp()
Initializes the item for flow execution.

Specified by:
setUp in interface Actor
Overrides:
setUp in class AbstractActor
Returns:
null if everything is fine, otherwise error message

initSession

protected void initSession()
                    throws Exception
Initializes the SMTP session if required.

Throws:
Exception - if initialization fails

doExecute

protected String doExecute()
Executes the flow item.

Specified by:
doExecute in class AbstractActor
Returns:
null if everything is fine, otherwise error message

stopExecution

public void stopExecution()
Stops the execution. No message set.

Specified by:
stopExecution in interface Stoppable
Specified by:
stopExecution in interface Actor
Overrides:
stopExecution in class AbstractActor

wrapUp

public void wrapUp()
Cleans up after the execution has finished.

Specified by:
wrapUp in interface Actor
Overrides:
wrapUp in class AbstractSink


Copyright © 2013 University of Waikato, Hamilton, NZ. All Rights Reserved.