org.mule.transport.email
Class AbstractMailConnector

java.lang.Object
  extended by org.mule.transport.AbstractConnector
      extended by org.mule.transport.email.AbstractMailConnector
All Implemented Interfaces:
ExceptionListener, EventListener, javax.resource.spi.work.WorkListener, MuleContextAware, Disposable, Initialisable, Lifecycle, Startable, Stoppable, NamedObject, Connectable, Connector
Direct Known Subclasses:
AbstractRetrieveMailConnector, SmtpConnector

public abstract class AbstractMailConnector
extends AbstractConnector

Abstract superclass for mail connectors. Provides Mule with an Authenticator object and other shared functionality like e.g. MuleSession creation.


Field Summary
static String MAILBOX
           
 
Fields inherited from class org.mule.transport.AbstractConnector
connected, createMultipleTransactedReceivers, DEFAULT_NUM_CONCURRENT_TX_RECEIVERS, dispatcherFactory, dispatchers, disposed, exceptionListener, initialised, logger, muleContext, name, numberOfConcurrentTransactedReceivers, receivers, requesterFactory, requesters, serviceDescriptor, serviceOverrides, sessionHandler, started, startOnConnect
 
Fields inherited from interface org.mule.api.transport.Connector
INT_VALUE_NOT_SET
 
Fields inherited from interface org.mule.api.lifecycle.Initialisable
PHASE_NAME
 
Fields inherited from interface org.mule.api.lifecycle.Startable
PHASE_NAME
 
Fields inherited from interface org.mule.api.lifecycle.Stoppable
PHASE_NAME
 
Fields inherited from interface org.mule.api.lifecycle.Disposable
PHASE_NAME
 
Constructor Summary
AbstractMailConnector(int defaultPort, String mailboxFolder)
           
 
Method Summary
protected  void doConnect()
          Template method where any connections should be made for the connector
protected  void doDisconnect()
          Template method where any connected resources used by the connector should be disconnected
protected  void doDispose()
          Template method to perform any work when destroying the connectoe
protected  void doInitialise()
           
protected  void doStart()
          Template method to perform any work when starting the connectoe
protected  void doStop()
          Template method to perform any work when stopping the connectoe
protected  void dumpProperties(String title, Properties properties, boolean filter)
           
protected  void extendPropertiesForSession(Properties global, Properties local, URLName url)
          Subclasses should extend this to add further properties.
 Authenticator getAuthenticator()
           
protected  String getBaseProtocol()
          Some protocols (eg secure extensions) extend a "base" protocol.
 int getDefaultPort()
           
 String getMailboxFolder()
           
 SessionDetails getSessionDetails(ImmutableEndpoint endpoint)
           
protected  SessionDetails newSession(ImmutableEndpoint endpoint)
           
 void setAuthenticator(Authenticator authenticator)
           
 void setMailboxFolder(String mailboxFolder)
           
 URLName urlFromEndpoint(ImmutableEndpoint endpoint)
           
 
Methods inherited from class org.mule.transport.AbstractConnector
checkDisposed, connect, createReceiver, destroyReceiver, disconnect, dispatch, dispose, disposeDispatchers, disposeReceivers, disposeRequesters, disposeWorkManagers, exceptionThrown, fireNotification, getConnectEventId, getConnectionDescription, getDefaultInboundTransformers, getDefaultOutboundTransformers, getDefaultResponseTransformers, getDispatcherFactory, getDispatcherThreadingProfile, getDispatcherWorkManager, getExceptionListener, getMaxDispatchersActive, getMaxRequestersActive, getMessageAdapter, getMuleContext, getName, getNumberOfConcurrentTransactedReceivers, getOutputStream, getReceiver, getReceiverKey, getReceivers, getReceivers, getReceiverThreadingProfile, getReceiverWorkManager, getReplyToHandler, getRequesterFactory, getRequesterThreadingProfile, getRequesterWorkManager, getRetryPolicyTemplate, getScheduler, getServiceDescriptor, getServiceOverrides, getSessionHandler, getSupportedProtocols, handleException, handleException, handleWorkException, initFromServiceDescriptor, initialise, initialiseFromUrl, initWorkManagers, isConnected, isCreateMultipleTransactedReceivers, isDisposed, isEnableMessageEvents, isResponseEnabled, isStarted, isSyncEnabled, isValidateConnections, lookupReceiver, registerListener, registerSupportedProtocol, registerSupportedProtocolWithoutPrefix, request, request, send, setConnected, setCreateMultipleTransactedReceivers, setDispatcherFactory, setDispatcherThreadingProfile, setDynamicNotification, setExceptionListener, setMaxDispatchersActive, setMaxRequestersActive, setMuleContext, setName, setNumberOfConcurrentTransactedReceivers, setReceiverThreadingProfile, setRequesterFactory, setRequesterThreadingProfile, setRetryPolicyTemplate, setServiceOverrides, setSessionHandler, setSupportedProtocols, setupDispatchReturn, setupRequestReturn, setValidateConnections, start, stop, supportsProtocol, toString, unregisterListener, unregisterSupportedProtocol, updateCachedNotificationHandler, validateConnection, workAccepted, workCompleted, workRejected, workStarted
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.mule.api.transport.Connector
getProtocol
 

Field Detail

MAILBOX

public static final String MAILBOX
See Also:
Constant Field Values
Constructor Detail

AbstractMailConnector

public AbstractMailConnector(int defaultPort,
                             String mailboxFolder)
Method Detail

getDefaultPort

public int getDefaultPort()

getAuthenticator

public Authenticator getAuthenticator()

setAuthenticator

public void setAuthenticator(Authenticator authenticator)

getMailboxFolder

public String getMailboxFolder()

setMailboxFolder

public void setMailboxFolder(String mailboxFolder)

getSessionDetails

public SessionDetails getSessionDetails(ImmutableEndpoint endpoint)

urlFromEndpoint

public URLName urlFromEndpoint(ImmutableEndpoint endpoint)

getBaseProtocol

protected String getBaseProtocol()
Some protocols (eg secure extensions) extend a "base" protocol. Subclasses for such protocols should override this method.

Returns:
the underlying (eg non-secure) protocol

extendPropertiesForSession

protected void extendPropertiesForSession(Properties global,
                                          Properties local,
                                          URLName url)
Subclasses should extend this to add further properties. Synchronization is managed outside this call (so no need to synchronize further on properties)

Parameters:
global - system properties
local - local properties (specific to one session)
url - the endpoint url

newSession

protected SessionDetails newSession(ImmutableEndpoint endpoint)

dumpProperties

protected void dumpProperties(String title,
                              Properties properties,
                              boolean filter)

doInitialise

protected void doInitialise()
                     throws InitialisationException
Specified by:
doInitialise in class AbstractConnector
Throws:
InitialisationException

doDispose

protected void doDispose()
Description copied from class: AbstractConnector
Template method to perform any work when destroying the connectoe

Specified by:
doDispose in class AbstractConnector

doConnect

protected void doConnect()
                  throws Exception
Description copied from class: AbstractConnector
Template method where any connections should be made for the connector

Specified by:
doConnect in class AbstractConnector
Throws:
Exception

doDisconnect

protected void doDisconnect()
                     throws Exception
Description copied from class: AbstractConnector
Template method where any connected resources used by the connector should be disconnected

Specified by:
doDisconnect in class AbstractConnector
Throws:
Exception

doStart

protected void doStart()
                throws MuleException
Description copied from class: AbstractConnector
Template method to perform any work when starting the connectoe

Specified by:
doStart in class AbstractConnector
Throws:
MuleException - if the method fails

doStop

protected void doStop()
               throws MuleException
Description copied from class: AbstractConnector
Template method to perform any work when stopping the connectoe

Specified by:
doStop in class AbstractConnector
Throws:
MuleException - if the method fails


Copyright © 2003-2009 MuleSource, Inc.. All Rights Reserved.