|
|||||||||
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.MailFolder
message
- - 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.MailFolder
uid
- - 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.MailFolder
com.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.MailFolder
com.icegreen.greenmail.store.FolderException
public int getFirstUnseen()
getFirstUnseen
in interface com.icegreen.greenmail.store.MailFolder
public java.lang.String getFullName()
AlfrescoImapConst.HIERARCHY_DELIMITER
)
E.g.:
getFullName
in interface com.icegreen.greenmail.store.MailFolder
public com.icegreen.greenmail.store.SimpleStoredMessage getMessage(long uid)
getMessage
in interface com.icegreen.greenmail.store.MailFolder
uid
- - UID of the message.
public int getMessageCount()
getMessageCount
in interface com.icegreen.greenmail.store.MailFolder
public java.util.List getMessages()
getMessages
in interface com.icegreen.greenmail.store.MailFolder
SimpleStoredMessage
objects.public java.util.List getMessages(com.icegreen.greenmail.foedus.util.MsgRangeFilter msgRangeFilter)
getMessages
in interface com.icegreen.greenmail.store.MailFolder
msgRangeFilter
- - MsgRangeFilter
object representing filter.
public int getMsn(long uid) throws com.icegreen.greenmail.store.FolderException
getMsn
in interface com.icegreen.greenmail.store.MailFolder
uid
- - 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.MailFolder
public long[] getMessageUids()
getMessageUids
in interface com.icegreen.greenmail.store.MailFolder
public java.util.List getNonDeletedMessages()
Flags.Flag#DELETED
flag set for current user.
getNonDeletedMessages
in interface com.icegreen.greenmail.store.MailFolder
public javax.mail.Flags getPermanentFlags()
getPermanentFlags
in interface com.icegreen.greenmail.store.MailFolder
Flags
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.MailFolder
reset
- - if true the Flags.Flag#RECENT
will be deleted for current user if exists.
public long getUidNext()
getUidNext
in interface com.icegreen.greenmail.store.MailFolder
public long getUidValidity()
getUidValidity
in interface com.icegreen.greenmail.store.MailFolder
public int getUnseenCount()
Flags.Flag#SEEN
in the folder for the current user.
getUnseenCount
in interface com.icegreen.greenmail.store.MailFolder
public boolean isSelectable()
isSelectable
in interface com.icegreen.greenmail.store.MailFolder
boolean
.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.MailFolder
flags
- - new flags.uid
- - message UID.silentListener
- - listener that shouldn't be notified.addUid
- - defines whether or not listeners be notified.
com.icegreen.greenmail.store.FolderException
public long[] search(javax.mail.search.SearchTerm searchTerm)
search
in interface com.icegreen.greenmail.store.MailFolder
searchTerm
- - 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.MailFolder
flags
- - 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.MailFolder
java.lang.Exception
public void store(javax.mail.internet.MimeMessage message) throws java.lang.Exception
MailFolder.store(MimeMessage)
.
store
in interface com.icegreen.greenmail.store.MailFolder
java.lang.Exception
public void addListener(com.icegreen.greenmail.store.FolderListener listener)
FolderListener
to the folder.
addListener
in interface com.icegreen.greenmail.store.MailFolder
listener
- - new listener.public void removeListener(com.icegreen.greenmail.store.FolderListener listener)
FolderListener
from the folder.
removeListener
in interface com.icegreen.greenmail.store.MailFolder
listener
- - 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.Exception
protected 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.Exception
protected 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.Exception
protected 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 |