org.mmbase.applications.email
Class EmailBuilder

java.lang.Object
  extended by org.mmbase.util.functions.FunctionProvider
      extended by org.mmbase.module.core.MMTable
          extended by org.mmbase.module.core.MMObjectBuilder
              extended by org.mmbase.applications.email.EmailBuilder
All Implemented Interfaces:
EventListener, NodeEventListener, RelationEventListener

public class EmailBuilder
extends MMObjectBuilder

Email builder. Nodes of this type are representations of email messages. Functions are available to e.g. send these messages (using SendMail).

Version:
$Id: EmailBuilder.java 42270 2010-05-26 08:29:38Z michiel $
Author:
Daniel Ockeloen, Michiel Meeuwissen

Field Summary
protected  int expireTime
           
(package private) static String groupsBuilder
           
static Parameter[] MAIL_PARAMETERS
           
static Parameter MESSAGEFORMAT_ARGUMENTS_PARAMETER
           
static Parameter[] SETTYPE_PARAMETERS
           
protected  int sleepTime
           
static Parameter[] STARTMAIL_PARAMETERS
           
static int STATE_DELIVERED
           
static int STATE_FAILED
           
static int STATE_QUEUED
           
static int STATE_SPAMGARDE
           
static int STATE_UNKNOWN
           
static int STATE_WAITING
           
static int TYPE_ONESHOT
           
static int TYPE_ONESHOTKEEP
           
static Parameter TYPE_PARAMETER
           
static int TYPE_RECEIVED
           
static int TYPE_STATIC
           
static int TYPE_TEMPLATE
           
(package private) static String usersBuilder
           
(package private) static String usersEmailField
           
 
Fields inherited from class org.mmbase.module.core.MMObjectBuilder
AGE_PARAMETERS, broadCastChanges, DEFAULT_ALINEA, DEFAULT_EOL, description, descriptions, EVENT_TYPE_LOCAL, EVENT_TYPE_REMOTE, FIELD_NUMBER, FIELD_OBJECT_TYPE, FIELD_OWNER, fields, genericBlobCache, getFunctions, GUI_INDICATOR, GUI_PARAMETERS, guiFunction, infoFunction, internalVersion, nodeCache, oType, pluralNames, searchAge, singularNames, SYSTEM_OWNER, TEMPNODE_DEFAULT_SIZE, TMP_FIELD_EXISTS, TMP_FIELD_NUMBER, virtual, WRAP_PARAMETERS, wrapFunction
 
Fields inherited from class org.mmbase.module.core.MMTable
maxNodesFromQuery, mmb, storageConnector, tableName
 
Fields inherited from class org.mmbase.util.functions.FunctionProvider
functions
 
Constructor Summary
EmailBuilder()
           
 
Method Summary
(package private)  List<MMObjectNode> getDeliveredMailOlderThan(long expireAge)
          Returns all the one-shot delivered mail nodes older than a specified time.
(package private) static SendMail getSendMail()
          Return the sendmail module
(package private) static String getTypeField()
           
 boolean init()
          init
protected  boolean sendMail(Node node, Parameters parameters)
           
 void shutdown()
          clean all acquired resources, because system is shutting down
 
Methods inherited from class org.mmbase.module.core.MMObjectBuilder
addEventListener, addField, addLocalObserver, addRemoteObserver, broadcastChanges, checkAddTmpField, clearBlobCache, commit, create, createAlias, createAlias, delete, equals, equals, executeFunction, executeFunction, fieldLocalChanged, getAncestors, getBlobCache, getClassName, getConfigFile, getConfigResource, getDataTypeCollector, getDBState, getDBType, getDefaultTeaser, getDefaultUrl, getDescendants, getDescription, getDescription, getDescriptions, getEmptyNode, getField, getFieldNames, getFields, getFields, getFunction, getFunctionParameters, getFunctions, getGUIIndicator, getGUIIndicator, getGUIIndicator, getHTML, getInitParameter, getInitParameters, getInitParameters, getInternalVersion, getList, getLocaleGUIIndicator, getLocaleGUIIndicator, getMachineName, getMaintainer, getNewNode, getNewTmpNode, getNextField, getNextField, getNode, getNode, getNode, getNodeFromCache, getNodeGUIIndicator, getNumber, getObjectType, getObjectValue, getParentBuilder, getPluralName, getPluralName, getPluralNames, getRelations_main, getSearchAge, getShort, getShortedByte, getShortedInputStream, getShortedText, getSingularName, getSingularName, getSingularNames, getSmartPath, getTmpNode, getURLEncode, getValue, getVersion, getWAP, getXMLPath, hasField, hashCode, hashCode, hostname_function, insert, insert, isExtensionOf, isNodeCached, isNull, isVirtual, loadInitParameters, newFunctionInstance, nodeLocalChanged, nodeRemoteChanged, notify, notify, preCommit, process, removeEventListener, removeField, removeLocalObserver, removeNode, removeRelations, removeRemoteObserver, removeSyncNodes, replace, safeCache, sendFieldChangeSignal, setDefaults, setDescription, setDescriptions, setFields, setInitParameter, setMaintainer, setPluralNames, setSearchAge, setSingularNames, setUniqueValue, setUniqueValue, setValue, setValue, setVersion, setXMLPath, testValidData, toString, toString, update, updateFields, wrap
 
Methods inherited from class org.mmbase.module.core.MMTable
count, count, created, getFullTableName, getMMBase, getNode, getNodes, getNodes, getNodes, getNodeType, getStorageConnector, getTableName, search, searchVector, setMMBase, setTableName, size
 
Methods inherited from class org.mmbase.util.functions.FunctionProvider
addFunction, createParameters, getFunction, getFunctions, getFunctionValue
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

TYPE_PARAMETER

public static final Parameter TYPE_PARAMETER

MESSAGEFORMAT_ARGUMENTS_PARAMETER

public static final Parameter MESSAGEFORMAT_ARGUMENTS_PARAMETER

MAIL_PARAMETERS

public static final Parameter[] MAIL_PARAMETERS

STARTMAIL_PARAMETERS

public static final Parameter[] STARTMAIL_PARAMETERS

SETTYPE_PARAMETERS

public static final Parameter[] SETTYPE_PARAMETERS

STATE_UNKNOWN

public static final int STATE_UNKNOWN
See Also:
Constant Field Values

STATE_WAITING

public static final int STATE_WAITING
See Also:
Constant Field Values

STATE_DELIVERED

public static final int STATE_DELIVERED
See Also:
Constant Field Values

STATE_FAILED

public static final int STATE_FAILED
See Also:
Constant Field Values

STATE_SPAMGARDE

public static final int STATE_SPAMGARDE
See Also:
Constant Field Values

STATE_QUEUED

public static final int STATE_QUEUED
See Also:
Constant Field Values

TYPE_STATIC

public static final int TYPE_STATIC
See Also:
Constant Field Values

TYPE_ONESHOT

public static final int TYPE_ONESHOT
See Also:
Constant Field Values

TYPE_RECEIVED

public static final int TYPE_RECEIVED
See Also:
Constant Field Values

TYPE_ONESHOTKEEP

public static final int TYPE_ONESHOTKEEP
See Also:
Constant Field Values

TYPE_TEMPLATE

public static final int TYPE_TEMPLATE
See Also:
Constant Field Values

usersBuilder

static String usersBuilder

usersEmailField

static String usersEmailField

groupsBuilder

static String groupsBuilder

expireTime

protected int expireTime

sleepTime

protected int sleepTime
Constructor Detail

EmailBuilder

public EmailBuilder()
Method Detail

init

public boolean init()
init

Overrides:
init in class MMObjectBuilder
Returns:
true if init was completed, false if uncompleted.
See Also:
MMObjectBuilder.create()

shutdown

public void shutdown()
Description copied from class: MMObjectBuilder
clean all acquired resources, because system is shutting down

Overrides:
shutdown in class MMObjectBuilder

sendMail

protected boolean sendMail(Node node,
                           Parameters parameters)
                    throws MessagingException
Throws:
MessagingException
Since:
MMBase-1.9.1

getSendMail

static SendMail getSendMail()
Return the sendmail module


getTypeField

static String getTypeField()

getDeliveredMailOlderThan

List<MMObjectNode> getDeliveredMailOlderThan(long expireAge)
Returns all the one-shot delivered mail nodes older than a specified time. This is used by EmailExpireHandler to remove expired emails.

Parameters:
expireAge - The minimum age of the desired nodes in seconds
Returns:
a unmodifiable List of MMObjectNodes


MMBase 2.0-SNAPSHOT - null