Spring Integration

org.springframework.integration.mail
Class AbstractMailReceiver

java.lang.Object
  extended by org.springframework.integration.mail.AbstractMailReceiver
All Implemented Interfaces:
DisposableBean, MailReceiver
Direct Known Subclasses:
ImapMailReceiver, Pop3MailReceiver

public abstract class AbstractMailReceiver
extends Object
implements MailReceiver, DisposableBean

Base class for MailReceiver implementations.

Author:
Arjen Poutsma, Jonas Partner, Mark Fisher, Iwein Fuld

Field Summary
protected  boolean initialized
           
protected  org.apache.commons.logging.Log logger
           
 
Constructor Summary
AbstractMailReceiver()
           
AbstractMailReceiver(String url)
           
AbstractMailReceiver(javax.mail.URLName urlName)
           
 
Method Summary
protected  void deleteMessages(javax.mail.Message[] messages)
          Deletes the given messages from this receiver's folder.
 void destroy()
           
protected  void fetchMessages(javax.mail.Message[] messages)
          Fetches the specified messages from this receiver's folder.
protected  javax.mail.Folder getFolder()
           
protected  void openFolder()
           
 javax.mail.Message[] receive()
           
protected abstract  javax.mail.Message[] searchForNewMessages()
          Subclasses must implement this method to return new mail messages.
 void setJavaMailAuthenticator(javax.mail.Authenticator javaMailAuthenticator)
          Optional, sets the Authenticator to be used to obtain a session.
 void setJavaMailProperties(Properties javaMailProperties)
          A new Session will be created with these properties (and the JavaMailAuthenticator if provided).
 void setMaxFetchSize(int maxFetchSize)
          Specify the maximum number of Messages to fetch per call to receive().
 void setProtocol(String protocol)
           
 void setSession(javax.mail.Session session)
          Set the Session.
 void setShouldDeleteMessages(boolean shouldDeleteMessages)
          Specify whether mail messages should be deleted after retrieval.
protected  boolean shouldDeleteMessages()
          Indicates whether the mail messages should be deleted after being received.
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

logger

protected final org.apache.commons.logging.Log logger

initialized

protected volatile boolean initialized
Constructor Detail

AbstractMailReceiver

public AbstractMailReceiver()

AbstractMailReceiver

public AbstractMailReceiver(javax.mail.URLName urlName)

AbstractMailReceiver

public AbstractMailReceiver(String url)
Method Detail

setProtocol

public void setProtocol(String protocol)

setSession

public void setSession(javax.mail.Session session)
Set the Session. Otherwise, the Session will be created by invocation of Session.getInstance(Properties) or Session.getInstance(Properties, Authenticator).

See Also:
setJavaMailProperties(Properties), setJavaMailAuthenticator(Authenticator)

setJavaMailProperties

public void setJavaMailProperties(Properties javaMailProperties)
A new Session will be created with these properties (and the JavaMailAuthenticator if provided). Use either this method or setSession(javax.mail.Session), but not both.

See Also:
setJavaMailAuthenticator(Authenticator), setSession(Session)

setJavaMailAuthenticator

public void setJavaMailAuthenticator(javax.mail.Authenticator javaMailAuthenticator)
Optional, sets the Authenticator to be used to obtain a session. This will not be used if setSession(javax.mail.Session) has been used to configure the Session directly.

See Also:
setSession(Session)

setMaxFetchSize

public void setMaxFetchSize(int maxFetchSize)
Specify the maximum number of Messages to fetch per call to receive().


setShouldDeleteMessages

public void setShouldDeleteMessages(boolean shouldDeleteMessages)
Specify whether mail messages should be deleted after retrieval.


shouldDeleteMessages

protected boolean shouldDeleteMessages()
Indicates whether the mail messages should be deleted after being received.


getFolder

protected javax.mail.Folder getFolder()

searchForNewMessages

protected abstract javax.mail.Message[] searchForNewMessages()
                                                      throws javax.mail.MessagingException
Subclasses must implement this method to return new mail messages.

Throws:
javax.mail.MessagingException

openFolder

protected void openFolder()
                   throws javax.mail.MessagingException
Throws:
javax.mail.MessagingException

receive

public javax.mail.Message[] receive()
Specified by:
receive in interface MailReceiver

fetchMessages

protected void fetchMessages(javax.mail.Message[] messages)
                      throws javax.mail.MessagingException
Fetches the specified messages from this receiver's folder. Default implementation fetches every FetchProfile.Item.

Parameters:
messages - the messages to fetch
Throws:
javax.mail.MessagingException - in case of JavaMail errors

deleteMessages

protected void deleteMessages(javax.mail.Message[] messages)
                       throws javax.mail.MessagingException
Deletes the given messages from this receiver's folder.

Parameters:
messages - the messages to delete
Throws:
javax.mail.MessagingException - in case of JavaMail errors

destroy

public void destroy()
             throws Exception
Specified by:
destroy in interface DisposableBean
Throws:
Exception

toString

public String toString()
Overrides:
toString in class Object

Spring Integration

Copyright © 2010. All Rights Reserved.