Modifier and Type | Method and Description |
---|---|
void |
MailboxListenerSupport.addGlobalListener(MailboxListener listener,
MailboxSession session)
Add a
MailboxListener which get fired for ever
MailboxPath |
void |
MailboxListenerSupport.addListener(MailboxPath mailboxPath,
MailboxListener listener,
MailboxSession session)
Implementations of Mailbox may interpret the fact that someone is
listening and do some caching and even postpone persistence until
everyone has removed itself.
|
long |
MessageManager.appendMessage(InputStream msgIn,
Date internalDate,
MailboxSession mailboxSession,
boolean isRecent,
javax.mail.Flags flags)
Appends a message to this mailbox.
|
List<MessageRange> |
MailboxManager.copyMessages(MessageRange set,
MailboxPath from,
MailboxPath to,
MailboxSession session)
Copy the given
MessageRange from one Mailbox to the other. |
void |
MailboxManager.createMailbox(MailboxPath mailboxPath,
MailboxSession mailboxSession)
Creates a new mailbox.
|
MailboxSession |
MailboxManager.createSystemSession(String userName,
org.slf4j.Logger log)
Creates a new system session.
A system session is intended to be used for programmatic access. Use MailboxManager.login(String, String, Logger) when accessing this API from a
protocol. |
void |
MailboxManager.deleteMailbox(MailboxPath mailboxPath,
MailboxSession session)
Delete the mailbox with the name
|
T |
MailboxPathLocker.LockAwareExecution.execute()
Execute code block
|
<T> T |
MailboxPathLocker.executeWithLock(MailboxSession session,
MailboxPath path,
MailboxPathLocker.LockAwareExecution<T> execution)
Deprecated.
use
MailboxPathLocker.executeWithLock(MailboxSession, MailboxPath, LockAwareExecution, boolean) with argument true |
<T> T |
MailboxPathLocker.executeWithLock(MailboxSession session,
MailboxPath path,
MailboxPathLocker.LockAwareExecution<T> execution,
boolean writeLock)
Execute the
MailboxPathLocker.LockAwareExecution while holding a lock on the
MailboxPath . |
Iterator<Long> |
MessageManager.expunge(MessageRange set,
MailboxSession mailboxSession)
Expunges messages in the given range from this mailbox.
|
MessageManager |
MailboxManager.getMailbox(MailboxPath mailboxPath,
MailboxSession session)
Gets an session suitable for IMAP.
|
long |
MessageManager.getMessageCount(MailboxSession mailboxSession)
|
Quota |
QuotaManager.getMessageQuota(MailboxSession session)
Return the message count
Quota for the given MailboxSession (which in fact is
bound to a user) |
MessageResultIterator |
MessageManager.getMessages(MessageRange set,
MessageResult.FetchGroup fetchGroup,
MailboxSession mailboxSession)
Gets messages in the given range.
|
MessageManager.MetaData |
MessageManager.getMetaData(boolean resetRecent,
MailboxSession mailboxSession,
MessageManager.MetaData.FetchGroup fetchGroup)
Gets current meta data for the mailbox.
Consolidates common calls together to allow improved performance. The meta-data returned should be immutable and represent the current state of the mailbox. |
Quota |
QuotaManager.getStorageQuota(MailboxSession session)
Return the message storage
Quota for the given MailboxSession (which in fact is
bound to a user) |
boolean |
MessageManager.hasRight(MailboxACL.MailboxACLRight right,
MailboxSession session)
Tells whether the given
MailboxSession 's user has the given
MailboxACL.MailboxACLRight for this MessageManager 's mailbox. |
boolean |
MessageManager.isWriteable(MailboxSession session)
|
List<MailboxPath> |
MailboxManager.list(MailboxSession session)
Return a unmodifiable
List of MailboxPath objects |
MailboxSession |
MailboxManager.login(String userid,
String passwd,
org.slf4j.Logger log)
Autenticates the given user against the given password.
When authentic and authorized, a session will be supplied |
void |
MailboxManager.logout(MailboxSession session,
boolean force)
Logs the session out, freeing any resources.
|
boolean |
MailboxManager.mailboxExists(MailboxPath mailboxPath,
MailboxSession session)
Does the given mailbox exist?
|
MailboxACL.MailboxACLRights |
MessageManager.myRights(MailboxSession session)
Returns the rights applicable to the user who has sent the current
request.
|
void |
MailboxListenerSupport.removeGlobalListener(MailboxListener listner,
MailboxSession session)
Remove the
MailboxListener |
void |
MailboxListenerSupport.removeListener(MailboxPath mailboxPath,
MailboxListener listner,
MailboxSession session)
Remove the
MailboxListener |
void |
MailboxManager.renameMailbox(MailboxPath from,
MailboxPath to,
MailboxSession session)
Renames a mailbox.
|
List<MailboxMetaData> |
MailboxManager.search(MailboxQuery expression,
MailboxSession session)
Searches for mailboxes matching the given query.
|
Iterator<Long> |
MessageManager.search(SearchQuery searchQuery,
MailboxSession mailboxSession)
Searches for messages matching the given query.
|
Map<Long,javax.mail.Flags> |
MessageManager.setFlags(javax.mail.Flags flags,
boolean value,
boolean replace,
MessageRange set,
MailboxSession mailboxSession)
Sets flags on messages within the given range.
|
Modifier and Type | Method and Description |
---|---|
void |
MailboxCopierImpl.copyMailboxes(MailboxManager srcMailboxManager,
MailboxManager dstMailboxManager) |
void |
MailboxCopier.copyMailboxes(MailboxManager src,
MailboxManager dest)
Copy the mailboxes from a mailbox manager to another mailbox manager.
|
Modifier and Type | Class and Description |
---|---|
class |
BadCredentialsException
Indicates that the credentials for this operation were not acceptable.
|
class |
InsufficientRightsException
Thrown when the rights granted to the given authenticated user do not suffice
for the given action.
|
class |
MailboxExistsException
Indicates that the operation failed since the mailbox already exists.
|
class |
MailboxNotFoundException
Indicates that the failure is caused by a reference to a mailbox which does
not exist.
|
class |
MailboxSecurityException
Parent for security related exceptions.
|
class |
MessageRangeException
Exception which should get thrown if an invalid message set was specified via
an IMAP command
|
class |
OverQuotaException
MailboxException which identicate that a user was over-quota |
class |
ReadOnlyException
MailboxException which should get thrown if someone tries to modify a READ-ONLY Mailbox |
class |
SubscriptionException
Indicates exception during subscription processing.
|
class |
UnsupportedCriteriaException
Indicates that a search criteria is not supported.
|
class |
UnsupportedOperationException
Indicates that an operation required is not supported by this mailbox.
|
class |
UnsupportedRightException
Thrown when the current system does not support the given right.
|
class |
UnsupportedSearchException
Indicates that the requested search is not supported by this implementation.
|
Modifier and Type | Method and Description |
---|---|
protected MailboxMapper<UUID> |
HBaseMailboxSessionMapperFactory.createMailboxMapper(MailboxSession session) |
protected StoreMessageManager<UUID> |
HBaseMailboxManager.createMessageManager(Mailbox<UUID> mailboxRow,
MailboxSession session) |
protected MessageMapper<UUID> |
HBaseMailboxSessionMapperFactory.createMessageMapper(MailboxSession session) |
void |
HBaseMailboxManager.deleteEverything(MailboxSession mailboxSession)
Delete all mailboxes
|
protected Mailbox<UUID> |
HBaseMailboxManager.doCreateMailbox(MailboxPath mailboxPath,
MailboxSession session) |
Constructor and Description |
---|
HBaseMessageManager(MailboxSessionMapperFactory<UUID> mapperFactory,
MessageSearchIndex<UUID> index,
MailboxEventDispatcher<UUID> dispatcher,
MailboxPathLocker locker,
Mailbox<UUID> mailbox,
MailboxACLResolver aclResolver,
GroupMembershipResolver groupMembershipResolver) |
Modifier and Type | Method and Description |
---|---|
MessageMetaData |
HBaseMessageMapper.add(Mailbox<UUID> mailbox,
Message<UUID> message) |
MessageMetaData |
HBaseMessageMapper.copy(Mailbox<UUID> mailbox,
Message<UUID> original) |
long |
HBaseMessageMapper.countMessagesInMailbox(Mailbox<UUID> mailbox) |
long |
HBaseMessageMapper.countUnseenMessagesInMailbox(Mailbox<UUID> mailbox) |
void |
HBaseMailboxMapper.delete(Mailbox<UUID> mlbx) |
void |
HBaseMessageMapper.delete(Mailbox<UUID> mailbox,
Message<UUID> message) |
Map<Long,MessageMetaData> |
HBaseMessageMapper.expungeMarkedForDeletionInMailbox(Mailbox<UUID> mailbox,
MessageRange set) |
Long |
HBaseMessageMapper.findFirstUnseenMessageUid(Mailbox<UUID> mailbox) |
Iterator<Message<UUID>> |
HBaseMessageMapper.findInMailbox(Mailbox<UUID> mailbox,
MessageRange set,
MessageMapper.FetchType fType,
int max) |
Mailbox<UUID> |
HBaseMailboxMapper.findMailboxByPath(MailboxPath mailboxPath) |
List<Mailbox<UUID>> |
HBaseMailboxMapper.findMailboxWithPathLike(MailboxPath mailboxPath) |
List<Long> |
HBaseMessageMapper.findRecentMessageUidsInMailbox(Mailbox<UUID> mailbox) |
long |
HBaseMessageMapper.getHighestModSeq(Mailbox<UUID> mailbox) |
long |
HBaseMessageMapper.getLastUid(Mailbox<UUID> mailbox) |
boolean |
HBaseMailboxMapper.hasChildren(Mailbox<UUID> mailbox,
char c) |
long |
HBaseModSeqProvider.highestModSeq(MailboxSession session,
Mailbox<UUID> mailbox) |
long |
HBaseUidProvider.lastUid(MailboxSession session,
Mailbox<UUID> mailbox)
Returns the last message uid used in a mailbox.
|
List<Mailbox<UUID>> |
HBaseMailboxMapper.list() |
long |
HBaseModSeqProvider.nextModSeq(MailboxSession session,
Mailbox<UUID> mailbox) |
long |
HBaseUidProvider.nextUid(MailboxSession session,
Mailbox<UUID> mailbox)
Returns the next uid.
|
void |
HBaseMailboxMapper.save(Mailbox<UUID> mlbx) |
protected MessageMetaData |
HBaseMessageMapper.save(Mailbox<UUID> mailbox,
Message<UUID> message)
|
Iterator<UpdatedFlags> |
HBaseMessageMapper.updateFlags(Mailbox<UUID> mailbox,
javax.mail.Flags flags,
boolean value,
boolean replace,
MessageRange set) |
Constructor and Description |
---|
HBaseMessage(org.apache.hadoop.conf.Configuration conf,
UUID mailboxId,
long uid,
long modSeq,
Message<?> original)
Create a copy of the given message.
|
Modifier and Type | Method and Description |
---|---|
MailboxMapper<Long> |
InMemoryMailboxSessionMapperFactory.createMailboxMapper(MailboxSession session) |
MessageMapper<Long> |
InMemoryMailboxSessionMapperFactory.createMessageMapper(MailboxSession session) |
void |
InMemoryMailboxSessionMapperFactory.deleteAll() |
Modifier and Type | Method and Description |
---|---|
protected void |
InMemoryMessageMapper.begin()
Do nothing
|
protected void |
InMemoryMessageMapper.commit()
Do nothing
|
protected MessageMetaData |
InMemoryMessageMapper.copy(Mailbox<Long> mailbox,
long uid,
long modSeq,
Message<Long> original) |
long |
InMemoryMessageMapper.countMessagesInMailbox(Mailbox<Long> mailbox) |
long |
InMemoryMessageMapper.countUnseenMessagesInMailbox(Mailbox<Long> mailbox) |
void |
InMemoryMailboxMapper.delete(Mailbox<Long> mailbox) |
void |
InMemoryMessageMapper.delete(Mailbox<Long> mailbox,
Message<Long> message) |
void |
InMemoryMailboxMapper.deleteAll() |
<T> T |
InMemoryMailboxMapper.execute(Mapper.Transaction<T> transaction) |
Map<Long,MessageMetaData> |
InMemoryMessageMapper.expungeMarkedForDeletionInMailbox(Mailbox<Long> mailbox,
MessageRange set) |
Long |
InMemoryMessageMapper.findFirstUnseenMessageUid(Mailbox<Long> mailbox) |
Iterator<Message<Long>> |
InMemoryMessageMapper.findInMailbox(Mailbox<Long> mailbox,
MessageRange set,
MessageMapper.FetchType ftype,
int max) |
Mailbox<Long> |
InMemoryMailboxMapper.findMailboxByPath(MailboxPath path) |
List<Mailbox<Long>> |
InMemoryMailboxMapper.findMailboxWithPathLike(MailboxPath path) |
List<Long> |
InMemoryMessageMapper.findRecentMessageUidsInMailbox(Mailbox<Long> mailbox) |
boolean |
InMemoryMailboxMapper.hasChildren(Mailbox<Long> mailbox,
char delimiter) |
long |
InMemoryModSeqProvider.highestModSeq(MailboxSession session,
Mailbox<Long> mailbox) |
long |
InMemoryUidProvider.lastUid(MailboxSession session,
Mailbox<Long> mailbox) |
List<Mailbox<Long>> |
InMemoryMailboxMapper.list() |
long |
InMemoryModSeqProvider.nextModSeq(MailboxSession session,
Mailbox<Long> mailbox) |
long |
InMemoryUidProvider.nextUid(MailboxSession session,
Mailbox<Long> mailbox) |
protected void |
InMemoryMessageMapper.rollback()
Do nothing
|
void |
InMemoryMailboxMapper.save(Mailbox<Long> mailbox) |
protected MessageMetaData |
InMemoryMessageMapper.save(Mailbox<Long> mailbox,
Message<Long> message) |
Modifier and Type | Method and Description |
---|---|
protected void |
AbstractJCRScalingMapper.begin()
Begin is not supported by level 1 JCR implementations, however we refresh the session
|
protected void |
AbstractJCRScalingMapper.commit()
Just call save on the underlying JCR Session, because level 1 JCR implementation does not offer Transactions
|
MailboxMapper<String> |
JCRMailboxSessionMapperFactory.createMailboxMapper(MailboxSession session) |
protected Message<String> |
JCRMessageManager.createMessage(Date internalDate,
int size,
int bodyStartOctet,
javax.mail.internet.SharedInputStream content,
javax.mail.Flags flags,
PropertyBuilder propertyBuilder) |
protected StoreMessageManager<String> |
JCRMailboxManager.createMessageManager(Mailbox<String> mailboxEntity,
MailboxSession session) |
MessageMapper<String> |
JCRMailboxSessionMapperFactory.createMessageMapper(MailboxSession session) |
protected Mailbox<String> |
JCRMailboxManager.doCreateMailbox(MailboxPath path,
MailboxSession session) |
protected void |
AbstractJCRScalingMapper.rollback()
Rollback is not supported by level 1 JCR implementations, so just do nothing
|
Constructor and Description |
---|
JCRMessageManager(MailboxSessionMapperFactory<String> mapperFactory,
MessageSearchIndex<String> index,
MailboxEventDispatcher<String> dispatcher,
MailboxPathLocker locker,
JCRMailbox mailbox,
MailboxACLResolver aclResolver,
GroupMembershipResolver groupMembershipResolver,
org.slf4j.Logger log,
char delimiter) |
Modifier and Type | Method and Description |
---|---|
protected void |
JCRMessageMapper.begin()
Begin is not supported by level 1 JCR implementations, however we refresh the session
|
protected void |
JCRMessageMapper.commit()
Just call save on the underlying JCR Session, because level 1 JCR implementation does not offer Transactions
|
protected MessageMetaData |
JCRMessageMapper.copy(Mailbox<String> mailbox,
long uid,
long modSeq,
Message<String> original) |
long |
JCRMessageMapper.countMessagesInMailbox(Mailbox<String> mailbox) |
long |
JCRMessageMapper.countUnseenMessagesInMailbox(Mailbox<String> mailbox) |
void |
JCRMailboxMapper.delete(Mailbox<String> mailbox) |
void |
JCRMessageMapper.delete(Mailbox<String> mailbox,
Message<String> message) |
Map<Long,MessageMetaData> |
JCRMessageMapper.expungeMarkedForDeletionInMailbox(Mailbox<String> mailbox,
MessageRange set) |
Long |
JCRMessageMapper.findFirstUnseenMessageUid(Mailbox<String> mailbox) |
Iterator<Message<String>> |
JCRMessageMapper.findInMailbox(Mailbox<String> mailbox,
MessageRange set,
MessageMapper.FetchType fType,
int max) |
Mailbox<String> |
JCRMailboxMapper.findMailboxByPath(MailboxPath path) |
List<Mailbox<String>> |
JCRMailboxMapper.findMailboxWithPathLike(MailboxPath path) |
List<Long> |
JCRMessageMapper.findRecentMessageUidsInMailbox(Mailbox<String> mailbox) |
boolean |
JCRMailboxMapper.hasChildren(Mailbox<String> mailbox,
char delimiter) |
long |
JCRModSeqProvider.highestModSeq(MailboxSession session,
Mailbox<String> mailbox) |
long |
JCRUidProvider.lastUid(MailboxSession mailboxSession,
Mailbox<String> mailbox) |
List<Mailbox<String>> |
JCRMailboxMapper.list() |
protected long |
JCRModSeqProvider.lockedNextModSeq(MailboxSession session,
Mailbox<String> mailbox) |
protected long |
JCRUidProvider.lockedNextUid(MailboxSession session,
Mailbox<String> mailbox) |
protected void |
JCRMessageMapper.rollback()
Rollback is not supported by level 1 JCR implementations, so just do nothing
|
void |
JCRMailboxMapper.save(Mailbox<String> mailbox) |
protected MessageMetaData |
JCRMessageMapper.save(Mailbox<String> mailbox,
Message<String> message) |
Constructor and Description |
---|
JCRMessage(String mailboxUUID,
long uid,
long modSeq,
JCRMessage message,
org.slf4j.Logger logger)
Create a copy of the given message
|
Modifier and Type | Method and Description |
---|---|
protected void |
JPATransactionalMapper.begin() |
protected void |
JPATransactionalMapper.commit()
Commit the Transaction and close the EntityManager
|
protected Message<Long> |
JPAMessageManager.createMessage(Date internalDate,
int size,
int bodyStartOctet,
javax.mail.internet.SharedInputStream content,
javax.mail.Flags flags,
PropertyBuilder propertyBuilder) |
void |
JPAMailboxManager.deleteEverything(MailboxSession mailboxSession)
Delete all mailboxes
|
protected Mailbox<Long> |
JPAMailboxManager.doCreateMailbox(MailboxPath path,
MailboxSession session) |
protected void |
JPATransactionalMapper.rollback() |
Constructor and Description |
---|
JPAMessageManager(MailboxSessionMapperFactory<Long> mapperFactory,
MessageSearchIndex<Long> index,
MailboxEventDispatcher<Long> dispatcher,
MailboxPathLocker locker,
Mailbox<Long> mailbox,
MailboxACLResolver aclResolver,
GroupMembershipResolver groupMembershipResolver) |
Modifier and Type | Method and Description |
---|---|
protected void |
JPAMessageMapper.begin() |
protected void |
JPAMessageMapper.commit()
Commit the Transaction and close the EntityManager
|
protected void |
JPAMailboxMapper.commit()
Commit the transaction.
|
protected MessageMetaData |
JPAMessageMapper.copy(Mailbox<Long> mailbox,
long uid,
long modSeq,
Message<Long> original) |
long |
JPAMessageMapper.countMessagesInMailbox(Mailbox<Long> mailbox) |
long |
JPAMessageMapper.countUnseenMessagesInMailbox(Mailbox<Long> mailbox) |
void |
JPAMailboxMapper.delete(Mailbox<Long> mailbox) |
void |
JPAMessageMapper.delete(Mailbox<Long> mailbox,
Message<Long> message) |
void |
JPAMailboxMapper.deleteAllMailboxes() |
void |
JPAMailboxMapper.deleteAllMemberships() |
Map<Long,MessageMetaData> |
JPAMessageMapper.expungeMarkedForDeletionInMailbox(Mailbox<Long> mailbox,
MessageRange set) |
Long |
JPAMessageMapper.findFirstUnseenMessageUid(Mailbox<Long> mailbox) |
Iterator<Message<Long>> |
JPAMessageMapper.findInMailbox(Mailbox<Long> mailbox,
MessageRange set,
MessageMapper.FetchType fType,
int max) |
Mailbox<Long> |
JPAMailboxMapper.findMailboxByPath(MailboxPath mailboxPath) |
List<Mailbox<Long>> |
JPAMailboxMapper.findMailboxWithPathLike(MailboxPath path) |
List<Long> |
JPAMessageMapper.findRecentMessageUidsInMailbox(Mailbox<Long> mailbox) |
boolean |
JPAMailboxMapper.hasChildren(Mailbox<Long> mailbox,
char delimiter) |
long |
JPAModSeqProvider.highestModSeq(MailboxSession session,
Mailbox<Long> mailbox) |
long |
JPAUidProvider.lastUid(MailboxSession session,
Mailbox<Long> mailbox) |
List<Mailbox<Long>> |
JPAMailboxMapper.list() |
protected long |
JPAModSeqProvider.lockedNextModSeq(MailboxSession session,
Mailbox<Long> mailbox) |
protected long |
JPAUidProvider.lockedNextUid(MailboxSession session,
Mailbox<Long> mailbox) |
protected void |
JPAMessageMapper.rollback() |
void |
JPAMailboxMapper.save(Mailbox<Long> mailbox) |
protected MessageMetaData |
JPAMessageMapper.save(Mailbox<Long> mailbox,
Message<Long> message) |
Constructor and Description |
---|
AbstractJPAMessage(JPAMailbox mailbox,
long uid,
long modSeq,
Message<?> original)
Constructs a copy of the given message.
|
JPAEncryptedMessage(JPAMailbox mailbox,
Date internalDate,
int size,
javax.mail.Flags flags,
javax.mail.internet.SharedInputStream content,
int bodyStartOctet,
PropertyBuilder propertyBuilder) |
JPAEncryptedMessage(JPAMailbox mailbox,
long uid,
long modSeq,
Message<?> message)
Create a copy of the given message
|
JPAMessage(JPAMailbox mailbox,
Date internalDate,
int size,
javax.mail.Flags flags,
javax.mail.internet.SharedInputStream content,
int bodyStartOctet,
PropertyBuilder propertyBuilder) |
JPAMessage(JPAMailbox mailbox,
long uid,
long modSeq,
Message<?> message)
Create a copy of the given message
|
JPAStreamingMessage(JPAMailbox mailbox,
Date internalDate,
int size,
javax.mail.Flags flags,
javax.mail.internet.SharedInputStream content,
int bodyStartOctet,
PropertyBuilder propertyBuilder) |
JPAStreamingMessage(JPAMailbox mailbox,
long uid,
long modSeq,
Message<?> message)
Create a copy of the given message
|
Modifier and Type | Method and Description |
---|---|
protected Message<Long> |
OpenJPAMessageManager.createMessage(Date internalDate,
int size,
int bodyStartOctet,
javax.mail.internet.SharedInputStream content,
javax.mail.Flags flags,
PropertyBuilder propertyBuilder) |
protected StoreMessageManager<Long> |
OpenJPAMailboxManager.createMessageManager(Mailbox<Long> mailboxRow,
MailboxSession session) |
Constructor and Description |
---|
OpenJPAMessageManager(MailboxSessionMapperFactory<Long> mapperFactory,
MessageSearchIndex<Long> index,
MailboxEventDispatcher<Long> dispatcher,
MailboxPathLocker locker,
Mailbox<Long> mailbox,
MailboxACLResolver aclResolver,
GroupMembershipResolver groupMembershipResolver) |
OpenJPAMessageManager(MailboxSessionMapperFactory<Long> mapperFactory,
MessageSearchIndex<Long> index,
MailboxEventDispatcher<Long> dispatcher,
MailboxPathLocker locker,
Mailbox<Long> mailbox,
OpenJPAMessageManager.AdvancedFeature f,
MailboxACLResolver aclResolver,
GroupMembershipResolver groupMembershipResolver) |
Modifier and Type | Method and Description |
---|---|
void |
LuceneMessageSearchIndex.add(MailboxSession session,
Mailbox<Id> mailbox,
Message<Id> membership) |
void |
LuceneMessageSearchIndex.delete(MailboxSession session,
Mailbox<Id> mailbox,
MessageRange range) |
Iterator<Long> |
LuceneMessageSearchIndex.search(MailboxSession session,
Mailbox<Id> mailbox,
SearchQuery searchQuery) |
void |
LuceneMessageSearchIndex.update(MailboxSession session,
Mailbox<Id> mailbox,
MessageRange range,
javax.mail.Flags f) |
Modifier and Type | Method and Description |
---|---|
long |
MaildirFolder.appendMessage(MailboxSession session,
String name)
Appends a message to the uidlist and returns its uid.
|
protected MailboxMapper<Integer> |
MaildirMailboxSessionMapperFactory.createMailboxMapper(MailboxSession session) |
protected MessageMapper<Integer> |
MaildirMailboxSessionMapperFactory.createMessageMapper(MailboxSession session) |
MaildirMessageName |
MaildirFolder.delete(MailboxSession session,
long uid)
Retrieves the file belonging to the given uid, deletes it and updates
the uid list.
|
MailboxACL |
MaildirFolder.getACL(MailboxSession session) |
long |
MaildirFolder.getLastUid(MailboxSession session)
Returns the last uid used in this mailbox
|
File |
MaildirStore.getMailboxRootForUser(String user)
The main maildir folder containing all mailboxes for one user
|
MaildirMessageName |
MaildirFolder.getMessageNameByUid(MailboxSession session,
Long uid)
Searches the uid list for a certain uid and returns the according
MaildirMessageName |
SortedMap<Long,MaildirMessageName> |
MaildirFolder.getRecentMessages(MailboxSession session)
Creates a map of recent messages.
|
SortedMap<Long,MaildirMessageName> |
MaildirFolder.getUidMap(MailboxSession session,
FilenameFilter filter,
int limit)
Reads all uids from the uid list file which match the given filter
and returns as many of them as a sorted map as the limit specifies.
|
SortedMap<Long,MaildirMessageName> |
MaildirFolder.getUidMap(MailboxSession session,
FilenameFilter filter,
long from,
long to) |
SortedMap<Long,MaildirMessageName> |
MaildirFolder.getUidMap(MailboxSession session,
long from,
long to)
Reads all uids between the two boundaries from the folder and returns them as
a sorted map together with their corresponding
MaildirMessageName s. |
long |
MaildirStore.highestModSeq(MailboxSession session,
Mailbox<Integer> mailbox) |
long |
MaildirStore.lastUid(MailboxSession session,
Mailbox<Integer> mailbox) |
Mailbox<Integer> |
MaildirStore.loadMailbox(MailboxSession session,
File root,
String namespace,
String user,
String folderName)
Creates a Mailbox object with data loaded from the file system
|
Mailbox<Integer> |
MaildirStore.loadMailbox(MailboxSession session,
MailboxPath mailboxPath)
Creates a Mailbox object with data loaded from the file system
|
long |
MaildirStore.nextModSeq(MailboxSession session,
Mailbox<Integer> mailbox) |
long |
MaildirStore.nextUid(MailboxSession session,
Mailbox<Integer> mailbox) |
void |
MaildirFolder.setACL(MailboxSession session,
MailboxACL acl) |
void |
MaildirFolder.update(MailboxSession session,
long uid,
String messageName)
Updates an entry in the uid list.
|
Modifier and Type | Method and Description |
---|---|
protected void |
MaildirMessageMapper.begin() |
protected void |
MaildirMessageMapper.commit() |
protected MessageMetaData |
MaildirMessageMapper.copy(Mailbox<Integer> mailbox,
long uid,
long modSeq,
Message<Integer> original) |
long |
MaildirMessageMapper.countMessagesInMailbox(Mailbox<Integer> mailbox) |
long |
MaildirMessageMapper.countUnseenMessagesInMailbox(Mailbox<Integer> mailbox) |
void |
MaildirMailboxMapper.delete(Mailbox<Integer> mailbox) |
void |
MaildirMessageMapper.delete(Mailbox<Integer> mailbox,
Message<Integer> message) |
Map<Long,MessageMetaData> |
MaildirMessageMapper.expungeMarkedForDeletionInMailbox(Mailbox<Integer> mailbox,
MessageRange set) |
Long |
MaildirMessageMapper.findFirstUnseenMessageUid(Mailbox<Integer> mailbox) |
Iterator<Message<Integer>> |
MaildirMessageMapper.findInMailbox(Mailbox<Integer> mailbox,
MessageRange set,
MessageMapper.FetchType fType,
int max) |
Mailbox<Integer> |
MaildirMailboxMapper.findMailboxByPath(MailboxPath mailboxPath) |
List<Mailbox<Integer>> |
MaildirMailboxMapper.findMailboxWithPathLike(MailboxPath mailboxPath) |
List<Long> |
MaildirMessageMapper.findRecentMessageUidsInMailbox(Mailbox<Integer> mailbox) |
boolean |
MaildirMailboxMapper.hasChildren(Mailbox<Integer> mailbox,
char delimiter) |
List<Mailbox<Integer>> |
MaildirMailboxMapper.list() |
protected void |
MaildirMessageMapper.rollback() |
void |
MaildirMailboxMapper.save(Mailbox<Integer> mailbox) |
protected MessageMetaData |
MaildirMessageMapper.save(Mailbox<Integer> mailbox,
Message<Integer> message) |
Iterator<UpdatedFlags> |
MaildirMessageMapper.updateFlags(Mailbox<Integer> mailbox,
javax.mail.Flags flags,
boolean value,
boolean replace,
MessageRange set) |
Modifier and Type | Method and Description |
---|---|
MailboxException |
MessageResultIterator.getException()
This method should get called after the
Iterator.hasNext() method returns
false . |
Modifier and Type | Method and Description |
---|---|
Content |
MessageResult.getBody()
Gets the body of the message excluding headers.
|
Content |
MessageResult.getBody(MessageResult.MimePath path)
Gets the body of the given mime part.
|
Content |
MessageResult.getFullContent()
Gets the full message including headers and body.
|
Content |
MessageResult.getFullContent(MessageResult.MimePath path)
Gets the full content of the given mime part.
|
Headers |
MessageResult.getHeaders() |
Content |
MessageResult.getMimeBody(MessageResult.MimePath path)
Gets the body of the given mime part.
|
MimeDescriptor |
MessageResult.getMimeDescriptor() |
String |
MessageResult.Header.getName()
Gets the name of this header.
|
String |
MessageResult.Header.getValue()
Gets the (unparsed) value of this header.
|
Iterator<MessageResult.Header> |
Headers.headers()
Gets headers for the message.
|
Iterator<MessageResult.Header> |
MessageResult.iterateHeaders(MessageResult.MimePath path)
Iterates the message headers for the given part in a multipart message.
|
Iterator<MessageResult.Header> |
MessageResult.iterateMimeHeaders(MessageResult.MimePath path)
Iterates the MIME headers for the given part in a multipart message.
|
long |
Content.size()
Size (in octets) of the content.
|
Modifier and Type | Method and Description |
---|---|
MailboxException |
StoreMessageResultIterator.getException() |
Modifier and Type | Method and Description |
---|---|
void |
StoreMailboxManager.addGlobalListener(MailboxListener listener,
MailboxSession session) |
void |
AbstractDelegatingMailboxListener.addGlobalListener(MailboxListener listener,
MailboxSession session) |
void |
StoreMailboxManager.addListener(MailboxPath path,
MailboxListener listener,
MailboxSession session) |
void |
AbstractDelegatingMailboxListener.addListener(MailboxPath path,
MailboxListener listener,
MailboxSession session) |
long |
StoreMessageManager.appendMessage(InputStream msgIn,
Date internalDate,
MailboxSession mailboxSession,
boolean isRecent,
javax.mail.Flags flagsToBeSet) |
protected MessageMetaData |
StoreMessageManager.appendMessageToStore(Message<Id> message,
MailboxSession session) |
List<MessageRange> |
StoreMailboxManager.copyMessages(MessageRange set,
MailboxPath from,
MailboxPath to,
MailboxSession session) |
List<MessageRange> |
StoreMessageManager.copyTo(MessageRange set,
StoreMessageManager<Id> toMailbox,
MailboxSession session)
Copy the
MessageRange to the StoreMessageManager |
protected long |
StoreMessageManager.countUnseenMessagesInMailbox(MailboxSession session)
Return the count of unseen messages
|
void |
StoreMailboxManager.createMailbox(MailboxPath mailboxPath,
MailboxSession mailboxSession) |
protected abstract MailboxMapper<Id> |
MailboxSessionMapperFactory.createMailboxMapper(MailboxSession session)
Create a
MailboxMapper instance which will get reused during the whole MailboxSession |
protected Message<Id> |
StoreMessageManager.createMessage(Date internalDate,
int size,
int bodyStartOctet,
javax.mail.internet.SharedInputStream content,
javax.mail.Flags flags,
PropertyBuilder propertyBuilder)
Create a new
Message for the given data |
protected StoreMessageManager<Id> |
StoreMailboxManager.createMessageManager(Mailbox<Id> mailbox,
MailboxSession session)
Create a
MailboxManager for the given Mailbox. |
protected abstract MessageMapper<Id> |
MailboxSessionMapperFactory.createMessageMapper(MailboxSession session)
Create a
MessageMapper instance which will get reused during the whole MailboxSession |
void |
StoreMailboxManager.deleteMailbox(MailboxPath mailboxPath,
MailboxSession session) |
protected Map<Long,MessageMetaData> |
StoreMessageManager.deleteMarkedInMailbox(MessageRange range,
MailboxSession session) |
protected Mailbox<Id> |
StoreMailboxManager.doCreateMailbox(MailboxPath mailboxPath,
MailboxSession session)
Create a Mailbox for the given mailbox path.
|
<T> T |
AbstractMailboxPathLocker.executeWithLock(MailboxSession session,
MailboxPath path,
MailboxPathLocker.LockAwareExecution<T> execution) |
<T> T |
AbstractMailboxPathLocker.executeWithLock(MailboxSession session,
MailboxPath path,
MailboxPathLocker.LockAwareExecution<T> execution,
boolean writeLock) |
Iterator<Long> |
StoreMessageManager.expunge(MessageRange set,
MailboxSession mailboxSession) |
protected Long |
StoreMessageManager.findFirstUnseenMessageUid(MailboxSession session)
Return the uid of the first unseen message or null of none is found
|
Content |
MessageResultImpl.getBody(MessageResult.MimePath path) |
Content |
MessageResultImpl.getFullContent(MessageResult.MimePath path) |
Headers |
MessageResultImpl.getHeaders() |
MessageManager |
StoreMailboxManager.getMailbox(MailboxPath mailboxPath,
MailboxSession session) |
Mailbox<Id> |
StoreMessageManager.getMailboxEntity()
Return the underlying
Mailbox |
MailboxMapper<Id> |
MailboxSessionMapperFactory.getMailboxMapper(MailboxSession session) |
long |
StoreMessageManager.getMessageCount(MailboxSession mailboxSession) |
MessageMapper<Id> |
MailboxSessionMapperFactory.getMessageMapper(MailboxSession session) |
MessageResultIterator |
StoreMessageManager.getMessages(MessageRange set,
MessageResult.FetchGroup fetchGroup,
MailboxSession mailboxSession) |
MessageManager.MetaData |
StoreMessageManager.getMetaData(boolean resetRecent,
MailboxSession mailboxSession,
MessageManager.MetaData.FetchGroup fetchGroup) |
Content |
MessageResultImpl.getMimeBody(MessageResult.MimePath path) |
MimeDescriptor |
MessageResultImpl.getMimeDescriptor() |
String |
ResultHeader.getName() |
String |
ResultHeader.getValue() |
Iterator<MessageResult.Header> |
LazyMimeDescriptor.headers() |
void |
StoreMailboxManager.init()
Init the
MailboxManager |
boolean |
StoreMessageManager.isWriteable(MailboxSession session)
This mailbox is writable
|
Iterator<MessageResult.Header> |
MessageResultImpl.iterateHeaders(MessageResult.MimePath path) |
Iterator<MessageResult.Header> |
MessageResultImpl.iterateMimeHeaders(MessageResult.MimePath path) |
List<MailboxPath> |
StoreMailboxManager.list(MailboxSession session) |
static MessageResult |
ResultUtils.loadMessageResult(Message<?> message,
MessageResult.FetchGroup fetchGroup)
|
protected abstract void |
AbstractMailboxPathLocker.lock(MailboxSession session,
MailboxPath path,
boolean writeLock)
Perform lock
|
protected void |
JVMMailboxPathLocker.lock(MailboxSession session,
MailboxPath path,
boolean writeLock) |
MailboxSession |
StoreMailboxManager.login(String userid,
String passwd,
org.slf4j.Logger log) |
void |
StoreMailboxManager.logout(MailboxSession session,
boolean force)
Close the
MailboxSession if not null |
boolean |
StoreMailboxManager.mailboxExists(MailboxPath mailboxPath,
MailboxSession session) |
MailboxACL.MailboxACLRights |
StoreMessageManager.myRights(MailboxSession session) |
protected List<Long> |
StoreMessageManager.recent(boolean reset,
MailboxSession mailboxSession)
Return a List which holds all uids of recent messages and optional reset
the recent flag on the messages for the uids
|
void |
StoreMailboxManager.removeGlobalListener(MailboxListener listener,
MailboxSession session) |
void |
AbstractDelegatingMailboxListener.removeGlobalListener(MailboxListener listener,
MailboxSession session) |
void |
StoreMailboxManager.removeListener(MailboxPath mailboxPath,
MailboxListener listener,
MailboxSession session) |
void |
AbstractDelegatingMailboxListener.removeListener(MailboxPath mailboxPath,
MailboxListener listener,
MailboxSession session) |
void |
StoreMailboxManager.renameMailbox(MailboxPath from,
MailboxPath to,
MailboxSession session) |
List<MailboxMetaData> |
StoreMailboxManager.search(MailboxQuery mailboxExpression,
MailboxSession session) |
Iterator<Long> |
StoreMessageManager.search(SearchQuery query,
MailboxSession mailboxSession) |
Map<Long,javax.mail.Flags> |
StoreMessageManager.setFlags(javax.mail.Flags flags,
boolean value,
boolean replace,
MessageRange set,
MailboxSession mailboxSession) |
long |
MimeDescriptorImpl.size() |
long |
LazyMimeDescriptor.size() |
protected abstract void |
AbstractMailboxPathLocker.unlock(MailboxSession session,
MailboxPath path,
boolean writeLock)
Release lock
|
protected void |
JVMMailboxPathLocker.unlock(MailboxSession session,
MailboxPath path,
boolean writeLock) |
Constructor and Description |
---|
StoreMessageManager(MessageMapperFactory<Id> mapperFactory,
MessageSearchIndex<Id> index,
MailboxEventDispatcher<Id> dispatcher,
MailboxPathLocker locker,
Mailbox<Id> mailbox,
MailboxACLResolver aclResolver,
GroupMembershipResolver groupMembershipResolver) |
Modifier and Type | Method and Description |
---|---|
MessageMetaData |
AbstractMessageMapper.add(Mailbox<Id> mailbox,
Message<Id> message) |
MessageMetaData |
MessageMapper.add(Mailbox<Id> mailbox,
Message<Id> message)
Add the given
Message to the underlying storage. |
protected abstract MessageMetaData |
AbstractMessageMapper.copy(Mailbox<Id> mailbox,
long uid,
long modSeq,
Message<Id> original)
Copy the Message to the Mailbox, using the given uid and modSeq for the new Message
|
MessageMetaData |
AbstractMessageMapper.copy(Mailbox<Id> mailbox,
Message<Id> original) |
MessageMetaData |
MessageMapper.copy(Mailbox<Id> mailbox,
Message<Id> original)
Copy the given
Message to a new mailbox and return the uid of the copy. |
long |
MessageMapper.countMessagesInMailbox(Mailbox<Id> mailbox)
Return the count of messages in the mailbox
|
long |
MessageMapper.countUnseenMessagesInMailbox(Mailbox<Id> mailbox)
Return the count of unseen messages in the mailbox
|
void |
MailboxMapper.delete(Mailbox<Id> mailbox)
Delete the given
Mailbox from the underlying storage |
void |
MessageMapper.delete(Mailbox<Id> mailbox,
Message<Id> message)
Delete the given
Message |
Map<Long,MessageMetaData> |
MessageMapper.expungeMarkedForDeletionInMailbox(Mailbox<Id> mailbox,
MessageRange set)
Return a
Iterator which holds the uids for all deleted Messages for the given MessageRange which are marked for deletion
The list must be ordered |
Long |
MessageMapper.findFirstUnseenMessageUid(Mailbox<Id> mailbox)
Return the uid of the first unseen message.
|
Iterator<Message<Id>> |
MessageMapper.findInMailbox(Mailbox<Id> mailbox,
MessageRange set,
MessageMapper.FetchType type,
int limit)
|
Mailbox<Id> |
MailboxMapper.findMailboxByPath(MailboxPath mailboxName)
Return the
Mailbox for the given name |
List<Mailbox<Id>> |
MailboxMapper.findMailboxWithPathLike(MailboxPath mailboxPath)
Return a List of
Mailbox which name is like the given name |
List<Long> |
MessageMapper.findRecentMessageUidsInMailbox(Mailbox<Id> mailbox)
Return a List of
Message which are recent. |
long |
AbstractMessageMapper.getHighestModSeq(Mailbox<Id> mailbox) |
long |
MessageMapper.getHighestModSeq(Mailbox<Id> mailbox)
Return the higest mod-sequence which were used for storing a Message in the
Mailbox |
long |
AbstractMessageMapper.getLastUid(Mailbox<Id> mailbox) |
long |
MessageMapper.getLastUid(Mailbox<Id> mailbox)
Return the last uid which were used for storing a Message in the
Mailbox |
MailboxMapper<Id> |
MailboxMapperFactory.getMailboxMapper(MailboxSession session)
Create a
MailboxMapper instance or return the one which exists for the MailboxSession already |
MessageMapper<Id> |
MessageMapperFactory.getMessageMapper(MailboxSession session)
Create a
MessageMapper instance of return the one which exists for the MailboxSession already |
boolean |
MailboxMapper.hasChildren(Mailbox<Id> mailbox,
char delimiter)
Return if the given
Mailbox has children |
long |
ModSeqProvider.highestModSeq(MailboxSession session,
Mailbox<Id> mailbox)
Return the highest mod-sequence which were used for the
Mailbox |
long |
ZooUidProvider.lastUid(MailboxSession session,
Mailbox<E> mailbox) |
long |
UidProvider.lastUid(MailboxSession session,
Mailbox<Id> mailbox)
Return the last uid which were used for storing a Message in the
Mailbox |
List<Mailbox<Id>> |
MailboxMapper.list()
|
protected abstract long |
AbstractLockingModSeqProvider.lockedNextModSeq(MailboxSession session,
Mailbox<Id> mailbox)
Generate the next mod-seq for the given
Mailbox while holding a lock on it. |
protected abstract long |
AbstractLockingUidProvider.lockedNextUid(MailboxSession session,
Mailbox<Id> mailbox)
Generate the next uid to use while the
Mailbox is locked |
long |
ModSeqProvider.nextModSeq(MailboxSession session,
Mailbox<Id> mailbox)
Return the next mod-sequence which can be used for the
Mailbox . |
long |
AbstractLockingModSeqProvider.nextModSeq(MailboxSession session,
Mailbox<Id> mailbox) |
long |
ZooUidProvider.nextUid(MailboxSession session,
Mailbox mailbox) |
long |
AbstractLockingUidProvider.nextUid(MailboxSession session,
Mailbox<Id> mailbox) |
long |
UidProvider.nextUid(MailboxSession session,
Mailbox<Id> mailbox)
Return the next uid which can be used while append a Message to the
Mailbox . |
void |
MailboxMapper.save(Mailbox<Id> mailbox)
Save the give
Mailbox to the underlying storage |
protected abstract MessageMetaData |
AbstractMessageMapper.save(Mailbox<Id> mailbox,
Message<Id> message)
|
Iterator<UpdatedFlags> |
AbstractMessageMapper.updateFlags(Mailbox<Id> mailbox,
javax.mail.Flags flags,
boolean value,
boolean replace,
MessageRange set) |
Iterator<UpdatedFlags> |
MessageMapper.updateFlags(Mailbox<Id> mailbox,
javax.mail.Flags flags,
boolean value,
boolean replace,
MessageRange set)
Update flags for the given
MessageRange . |
Constructor and Description |
---|
SimpleMessage(Mailbox<Id> mailbox,
Message<Id> original) |
Modifier and Type | Method and Description |
---|---|
protected abstract long |
ListeningQuotaManager.getMaxMessage(MailboxSession session)
Return the maximum message count which is allowed for the given
MailboxSession (in fact the user which the session is bound to) |
protected long |
FixedQuotaManager.getMaxMessage(MailboxSession session) |
protected long |
PerUserQuotaManager.getMaxMessage(MailboxSession session) |
protected abstract long |
ListeningQuotaManager.getMaxStorage(MailboxSession session)
Return the maximum storage which is allowed for the given
MailboxSession (in fact the user which the session is bound to)
The returned valued must be in bytes |
protected long |
FixedQuotaManager.getMaxStorage(MailboxSession session) |
protected long |
PerUserQuotaManager.getMaxStorage(MailboxSession session) |
Quota |
ListeningQuotaManager.getMessageQuota(MailboxSession session) |
Quota |
ListeningQuotaManager.getStorageQuota(MailboxSession session) |
Constructor and Description |
---|
FixedQuotaManager(StoreMailboxManager manager) |
ListeningQuotaManager(StoreMailboxManager<?> manager) |
PerUserQuotaManager(StoreMailboxManager<Id> manager) |
Modifier and Type | Method and Description |
---|---|
abstract void |
ListeningMessageSearchIndex.add(MailboxSession session,
Mailbox<Id> mailbox,
Message<Id> message)
|
void |
LazyMessageSearchIndex.add(MailboxSession session,
Mailbox<Id> mailbox,
Message<Id> message) |
abstract void |
ListeningMessageSearchIndex.delete(MailboxSession session,
Mailbox<Id> mailbox,
MessageRange range)
Delete the
MessageRange for the given Mailbox from the index |
void |
LazyMessageSearchIndex.delete(MailboxSession session,
Mailbox<Id> mailbox,
MessageRange range) |
static boolean |
MessageSearches.isMatch(SearchQuery.Criterion criterion,
Message<?> message,
Collection<Long> recentMessageUids,
org.slf4j.Logger log)
Does the row match the given criterion?
|
static boolean |
MessageSearches.isMatch(SearchQuery query,
Message<?> message,
org.slf4j.Logger log)
Does the row match the given criteria?
|
Iterator<Long> |
MessageSearchIndex.search(MailboxSession session,
Mailbox<Id> mailbox,
SearchQuery searchQuery)
Return all uids of the previous indexed
Mailbox 's which match the SearchQuery |
Iterator<Long> |
SimpleMessageSearchIndex.search(MailboxSession session,
Mailbox<Id> mailbox,
SearchQuery query) |
Iterator<Long> |
LazyMessageSearchIndex.search(MailboxSession session,
Mailbox<Id> mailbox,
SearchQuery searchQuery)
Lazy index the mailbox on first search request if it was not indexed before.
|
abstract void |
ListeningMessageSearchIndex.update(MailboxSession session,
Mailbox<Id> mailbox,
MessageRange range,
javax.mail.Flags flags)
|
void |
LazyMessageSearchIndex.update(MailboxSession session,
Mailbox<Id> mailbox,
MessageRange range,
javax.mail.Flags flags) |
Modifier and Type | Method and Description |
---|---|
protected long |
FullByteContent.caculateSize() |
Content |
PartContentBuilder.getFullContent() |
Constructor and Description |
---|
FullByteContent(byte[] body,
List<MessageResult.Header> headers) |
Modifier and Type | Method and Description |
---|---|
protected abstract void |
TransactionalMapper.begin()
Begin transaction
|
protected abstract void |
TransactionalMapper.commit()
Commit transaction
|
<T> T |
NonTransactionalMapper.execute(Mapper.Transaction<T> transaction) |
<T> T |
TransactionalMapper.execute(Mapper.Transaction<T> transaction) |
<T> T |
Mapper.execute(Mapper.Transaction<T> transaction)
Execute the given Transaction
|
protected abstract void |
TransactionalMapper.rollback()
Rollback transaction
|
T |
Mapper.Transaction.run()
Run unit of work in a Transaction and return a value
|
Void |
Mapper.VoidTransaction.run() |
abstract void |
Mapper.VoidTransaction.runVoid() |
Copyright © 2010-2012 The Apache Software Foundation. All Rights Reserved.