Package org.apache.james.mailboxmanager

This is now some kind of complete as it reflects the ideas I have in mind.

See:
          Description

Interface Summary
Constants  
Headers TODO: remove when MessageResult is sorted out
ListResult Returned by the list method of MailboxRepository and others
MailboxListener Listens to Mailbox events.
MailboxListener.Event A mailbox event.
MailboxListener.MailboxDeletionEvent Indicates that mailbox has been deleted.
MailboxListener.MessageEvent A mailbox event related to a message.
MailboxSession Mailbox session.
MessageRange Used to define a range of messages by uid or msn, or a individual message by key or message object.
The type of the set should be defined by using an appropriate constructor.
MessageResult Used to get specific informations about a Message without dealing with a MimeMessage instance.
MessageResult.Content IMAP needs to know the size of the content before it starts to write it out.
MessageResult.FetchGroup Indicates the results fetched.
MessageResult.FetchGroup.PartContentDescriptor Describes the contents to be fetched for a mail part.
MessageResult.Header A header.
MessageResult.MimeDescriptor  
MessageResult.MimePath Describes a path within a multipart MIME message.
SearchQuery.HeaderOperator Marks operator as suitable for header value searching.
SearchQuery.Operator Search operator.
 

Class Summary
MailboxListener.Added  
MailboxListener.Expunged  
MailboxListener.FlagsUpdated  
SearchQuery Models a query used to search for messages.
SearchQuery.AllCriterion Any message.
SearchQuery.BooleanOperator Boolean value search.
SearchQuery.ConjunctionCriterion Conjuction applying to the contained criteria.
SearchQuery.ContainsOperator Contained value search.
SearchQuery.Criterion Marker superclass for criteria.
SearchQuery.CustomFlagCriterion Filters on a custom flag valuation.
SearchQuery.DateOperator Operates on a date.
SearchQuery.ExistsOperator Existance search.
SearchQuery.FlagCriterion Filters on a standard flag.
SearchQuery.HeaderCriterion Header value content search.
SearchQuery.InOperator Search for numbers within set of ranges.
SearchQuery.InternalDateCriterion Filters on the internal date.
SearchQuery.NumericOperator Searches numberic values.
SearchQuery.NumericRange Numbers within a particular range.
SearchQuery.SizeCriterion Filters on the size of the message in octets.
SearchQuery.TextCriterion Message text.
SearchQuery.UidCriterion Filters on message identity.
 

Exception Summary
MailboxExistsException Indicates that the operation failed since the mailbox already exists.
MailboxManagerException  
MailboxNotFoundException Indicates that the failure is caused by a reference to a mailbox which does not exist.
UnsupportedCriteriaException Indicates that a search criteria is not supported.
 

Package org.apache.james.mailboxmanager Description

This is now some kind of complete as it reflects the ideas I have in mind. Of course it's still far away from being finished. There maybe cleaner ways than MessageResult and GeneralMessageSet... It would be much easier to just write an API for a JDBC based IMAP backend. I hope for discussion and help to make this fit into James.

Main topic of discussion should be MailboxRepository and the interfaces which ImapMailbox extends.
Quota and Acl/Rights will stay drafts until the time has come.

The level of integration into James code base is an important question. It should be possible to introduce this without having to touch existing James code. NamespaceMailRepository will lookup and wrap a Mailbox. In a long term view more integration should be done like using namespaces in whole james, because it makes no sense to deal with two different approaches which blows up code base.



Copyright © 2002-2008 The Apache Software Foundation. All Rights Reserved.