|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.alfresco.repo.imap.AbstractImapFolder
public abstract class AbstractImapFolder
Implementation of greenmail MailFolder. It represents an Alfresco content folder and handles appendMessage, copyMessage, expunge (delete), getMessages, getMessage and so requests.
| Nested Class Summary | |
|---|---|
protected class |
AbstractImapFolder.CommandCallback
|
| Field Summary | |
|---|---|
protected static int |
MAX_RETRIES
|
protected ServiceRegistry |
serviceRegistry
|
| Constructor Summary | |
|---|---|
AbstractImapFolder(ServiceRegistry serviceRegistry)
|
|
| Method Summary | |
|---|---|
void |
addListener(com.icegreen.greenmail.store.FolderListener listener)
Adds FolderListener to the folder. |
long |
appendMessage(javax.mail.internet.MimeMessage message,
javax.mail.Flags flags,
java.util.Date internalDate)
Appends message to the folder. |
protected abstract long |
appendMessageInternal(javax.mail.internet.MimeMessage message,
javax.mail.Flags flags,
java.util.Date internalDate)
|
protected void |
checkParameter(java.lang.Object parameter,
java.lang.String name)
Method that checks mandatory parameter. |
void |
copyMessage(long uid,
com.icegreen.greenmail.store.MailFolder toFolder)
Copies message with the given UID to the specified MailFolder. |
protected abstract void |
copyMessageInternal(long uid,
com.icegreen.greenmail.store.MailFolder toFolder)
|
void |
deleteAllMessages()
Marks all messages in the folder as deleted using Flags.Flag#DELETED flag. |
protected abstract void |
deleteAllMessagesInternal()
|
void |
expunge()
Deletes messages marked with Flags.Flag#DELETED. |
protected abstract void |
expungeInternal()
|
int |
getFirstUnseen()
Returns the number of the first unseen message. |
protected abstract int |
getFirstUnseenInternal()
|
java.lang.String |
getFullName()
Returns full name of the folder with namespace and full path delimited with the hierarchy delimiter (see AlfrescoImapConst.HIERARCHY_DELIMITER)
E.g.: #mail.admin."Repository_archive.Data Dictionary.Space Templates.Software Engineering Project" This is required by GreenMail implementation. |
protected abstract java.lang.String |
getFullNameInternal()
|
com.icegreen.greenmail.store.SimpleStoredMessage |
getMessage(long uid)
Returns message by its UID. |
int |
getMessageCount()
Returns count of the messages in the folder. |
protected abstract int |
getMessageCountInternal()
|
protected abstract com.icegreen.greenmail.store.SimpleStoredMessage |
getMessageInternal(long uid)
|
java.util.List |
getMessages()
Returns list of all messages in the folder. |
java.util.List |
getMessages(com.icegreen.greenmail.foedus.util.MsgRangeFilter msgRangeFilter)
Returns list of messages by filter. |
protected abstract java.util.List |
getMessagesInternal()
|
protected abstract java.util.List |
getMessagesInternal(com.icegreen.greenmail.foedus.util.MsgRangeFilter msgRangeFilter)
|
long[] |
getMessageUids()
Returns UIDs of all messages in the folder. |
protected abstract long[] |
getMessageUidsInternal()
|
int |
getMsn(long uid)
Returns message sequence number in the folder by its UID. |
protected abstract int |
getMsnInternal(long uid)
|
java.lang.String |
getName()
Returns folder name. |
protected abstract java.lang.String |
getNameInternal()
|
java.util.List |
getNonDeletedMessages()
Returns the list of messages that have no Flags.Flag#DELETED flag set for current user. |
protected abstract java.util.List |
getNonDeletedMessagesInternal()
|
javax.mail.Flags |
getPermanentFlags()
Returns permanent flags. |
protected abstract javax.mail.Flags |
getPermanentFlagsInternal()
|
int |
getRecentCount(boolean reset)
Returns count of messages with Flags.Flag#RECENT flag. |
protected abstract int |
getRecentCountInternal(boolean reset)
|
long |
getUidNext()
Returns UIDNEXT value of the folder. |
protected abstract long |
getUidNextInternal()
|
long |
getUidValidity()
Returns UIDVALIDITY value of the folder. |
protected abstract long |
getUidValidityInternal()
|
int |
getUnseenCount()
Returns count of the messages with Flags.Flag#SEEN in the folder for the current user. |
protected abstract int |
getUnseenCountInternal()
|
protected abstract boolean |
isReadOnly()
|
boolean |
isSelectable()
Whether the folder is selectable. |
protected abstract boolean |
isSelectableInternal()
|
protected void |
notifyFlagUpdate(int msn,
javax.mail.Flags flags,
java.lang.Long uidNotification,
com.icegreen.greenmail.store.FolderListener silentListener)
|
void |
removeListener(com.icegreen.greenmail.store.FolderListener listener)
Removes FolderListener from the folder. |
void |
replaceFlags(javax.mail.Flags flags,
long uid,
com.icegreen.greenmail.store.FolderListener silentListener,
boolean addUid)
Replaces flags for the message with the given UID. |
protected abstract void |
replaceFlagsInternal(javax.mail.Flags flags,
long uid,
com.icegreen.greenmail.store.FolderListener silentListener,
boolean addUid)
|
long[] |
search(javax.mail.search.SearchTerm searchTerm)
Simply returns UIDs of all messages in the folder. |
void |
setFlags(javax.mail.Flags flags,
boolean value,
long uid,
com.icegreen.greenmail.store.FolderListener silentListener,
boolean addUid)
Sets flags for the message with the given UID. |
protected abstract void |
setFlagsInternal(javax.mail.Flags flags,
boolean value,
long uid,
com.icegreen.greenmail.store.FolderListener silentListener,
boolean addUid)
|
void |
signalDeletion()
Method is called before the deletion of the folder. |
void |
store(javax.mail.internet.MimeMessage message)
Not supported. |
void |
store(com.icegreen.greenmail.mail.MovingMessage mail)
Not supported. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected ServiceRegistry serviceRegistry
protected static int MAX_RETRIES
| Constructor Detail |
|---|
public AbstractImapFolder(ServiceRegistry serviceRegistry)
| Method Detail |
|---|
protected void checkParameter(java.lang.Object parameter,
java.lang.String name)
The - parameter instance to check.The - name of the parameter.
public long appendMessage(javax.mail.internet.MimeMessage message,
javax.mail.Flags flags,
java.util.Date internalDate)
throws com.icegreen.greenmail.store.FolderException
appendMessage in interface com.icegreen.greenmail.store.MailFoldermessage - - message.flags - - message flags.internalDate - - not used. Current date used instead.
com.icegreen.greenmail.store.FolderException
public void copyMessage(long uid,
com.icegreen.greenmail.store.MailFolder toFolder)
throws com.icegreen.greenmail.store.FolderException
MailFolder.
copyMessage in interface com.icegreen.greenmail.store.MailFolderuid - - UID of the messagetoFolder - - reference to the destination folder.
com.icegreen.greenmail.store.FolderException
public void deleteAllMessages()
throws com.icegreen.greenmail.store.FolderException
Flags.Flag#DELETED flag.
deleteAllMessages in interface com.icegreen.greenmail.store.MailFoldercom.icegreen.greenmail.store.FolderException
public void expunge()
throws com.icegreen.greenmail.store.FolderException
Flags.Flag#DELETED. Note that this message deletes all messages with this flag.
expunge in interface com.icegreen.greenmail.store.MailFoldercom.icegreen.greenmail.store.FolderExceptionpublic int getFirstUnseen()
getFirstUnseen in interface com.icegreen.greenmail.store.MailFolderpublic java.lang.String getFullName()
AlfrescoImapConst.HIERARCHY_DELIMITER)
E.g.:
getFullName in interface com.icegreen.greenmail.store.MailFolderpublic com.icegreen.greenmail.store.SimpleStoredMessage getMessage(long uid)
getMessage in interface com.icegreen.greenmail.store.MailFolderuid - - UID of the message.
public int getMessageCount()
getMessageCount in interface com.icegreen.greenmail.store.MailFolderpublic java.util.List getMessages()
getMessages in interface com.icegreen.greenmail.store.MailFolderSimpleStoredMessage objects.public java.util.List getMessages(com.icegreen.greenmail.foedus.util.MsgRangeFilter msgRangeFilter)
getMessages in interface com.icegreen.greenmail.store.MailFoldermsgRangeFilter - - MsgRangeFilter object representing filter.
public int getMsn(long uid)
throws com.icegreen.greenmail.store.FolderException
getMsn in interface com.icegreen.greenmail.store.MailFolderuid - - message UID.
com.icegreen.greenmail.store.FolderException - if no message with given UID.public java.lang.String getName()
getName in interface com.icegreen.greenmail.store.MailFolderpublic long[] getMessageUids()
getMessageUids in interface com.icegreen.greenmail.store.MailFolderpublic java.util.List getNonDeletedMessages()
Flags.Flag#DELETED flag set for current user.
getNonDeletedMessages in interface com.icegreen.greenmail.store.MailFolderpublic javax.mail.Flags getPermanentFlags()
getPermanentFlags in interface com.icegreen.greenmail.store.MailFolderFlags object containing flags.public int getRecentCount(boolean reset)
Flags.Flag#RECENT flag. If reset parameter is true -
removes Flags.Flag#RECENT flag from the message for current user.
getRecentCount in interface com.icegreen.greenmail.store.MailFolderreset - - if true the Flags.Flag#RECENT will be deleted for current user if exists.
public long getUidNext()
getUidNext in interface com.icegreen.greenmail.store.MailFolderpublic long getUidValidity()
getUidValidity in interface com.icegreen.greenmail.store.MailFolderpublic int getUnseenCount()
Flags.Flag#SEEN in the folder for the current user.
getUnseenCount in interface com.icegreen.greenmail.store.MailFolderpublic boolean isSelectable()
isSelectable in interface com.icegreen.greenmail.store.MailFolderboolean.
public void replaceFlags(javax.mail.Flags flags,
long uid,
com.icegreen.greenmail.store.FolderListener silentListener,
boolean addUid)
throws com.icegreen.greenmail.store.FolderException
addUid is set to
true FolderListener objects defined for this folder will be notified.
silentListener can be provided - this listener wouldn't be notified.
replaceFlags in interface com.icegreen.greenmail.store.MailFolderflags - - new flags.uid - - message UID.silentListener - - listener that shouldn't be notified.addUid - - defines whether or not listeners be notified.
com.icegreen.greenmail.store.FolderExceptionpublic long[] search(javax.mail.search.SearchTerm searchTerm)
search in interface com.icegreen.greenmail.store.MailFoldersearchTerm - - not used
public void setFlags(javax.mail.Flags flags,
boolean value,
long uid,
com.icegreen.greenmail.store.FolderListener silentListener,
boolean addUid)
throws com.icegreen.greenmail.store.FolderException
addUid is set to true
FolderListener objects defined for this folder will be notified.
silentListener can be provided - this listener wouldn't be notified.
setFlags in interface com.icegreen.greenmail.store.MailFolderflags - - new flags.value - - flags value.uid - - message UID.silentListener - - listener that shouldn't be notified.addUid - - defines whether or not listeners be notified.
com.icegreen.greenmail.store.FolderException
public void store(com.icegreen.greenmail.mail.MovingMessage mail)
throws java.lang.Exception
MailFolder.store(MovingMessage).
store in interface com.icegreen.greenmail.store.MailFolderjava.lang.Exception
public void store(javax.mail.internet.MimeMessage message)
throws java.lang.Exception
MailFolder.store(MimeMessage).
store in interface com.icegreen.greenmail.store.MailFolderjava.lang.Exceptionpublic void addListener(com.icegreen.greenmail.store.FolderListener listener)
FolderListener to the folder.
addListener in interface com.icegreen.greenmail.store.MailFolderlistener - - new listener.public void removeListener(com.icegreen.greenmail.store.FolderListener listener)
FolderListener from the folder.
removeListener in interface com.icegreen.greenmail.store.MailFolderlistener - - Listener to remove.public void signalDeletion()
FolderListener objects with
FolderListener.mailboxDeleted() method calls.
signalDeletion in interface com.icegreen.greenmail.store.MailFolder
protected void notifyFlagUpdate(int msn,
javax.mail.Flags flags,
java.lang.Long uidNotification,
com.icegreen.greenmail.store.FolderListener silentListener)
protected abstract boolean isReadOnly()
protected abstract long appendMessageInternal(javax.mail.internet.MimeMessage message,
javax.mail.Flags flags,
java.util.Date internalDate)
throws java.lang.Exception
java.lang.Exception
protected abstract void copyMessageInternal(long uid,
com.icegreen.greenmail.store.MailFolder toFolder)
throws java.lang.Exception
java.lang.Exception
protected abstract void deleteAllMessagesInternal()
throws java.lang.Exception
java.lang.Exception
protected abstract void expungeInternal()
throws java.lang.Exception
java.lang.Exceptionprotected abstract int getFirstUnseenInternal()
protected abstract java.lang.String getFullNameInternal()
throws java.lang.Exception
java.lang.Exception
protected abstract com.icegreen.greenmail.store.SimpleStoredMessage getMessageInternal(long uid)
throws java.lang.Exception
java.lang.Exceptionprotected abstract int getMessageCountInternal()
protected abstract java.util.List getMessagesInternal()
protected abstract java.util.List getMessagesInternal(com.icegreen.greenmail.foedus.util.MsgRangeFilter msgRangeFilter)
protected abstract int getMsnInternal(long uid)
throws java.lang.Exception
java.lang.Exceptionprotected abstract java.lang.String getNameInternal()
protected abstract long[] getMessageUidsInternal()
protected abstract java.util.List getNonDeletedMessagesInternal()
protected abstract javax.mail.Flags getPermanentFlagsInternal()
protected abstract int getRecentCountInternal(boolean reset)
protected abstract long getUidNextInternal()
protected abstract long getUidValidityInternal()
protected abstract int getUnseenCountInternal()
protected abstract boolean isSelectableInternal()
protected abstract void replaceFlagsInternal(javax.mail.Flags flags,
long uid,
com.icegreen.greenmail.store.FolderListener silentListener,
boolean addUid)
throws java.lang.Exception
java.lang.Exception
protected abstract void setFlagsInternal(javax.mail.Flags flags,
boolean value,
long uid,
com.icegreen.greenmail.store.FolderListener silentListener,
boolean addUid)
throws java.lang.Exception
java.lang.Exception
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||