This module contains the interfaces and exceptions to be used by the mailbox clients. It represents the "external view" of the mailbox library client.
The services the mailbox library provides can be summarized as "store/retrieve/search/delete mails" and update the mails metadata (via uid and flags)
The main entrance interfaces are represented by 3 managers, each responsible for a specific area: the mailbox manager, the message manager and the subscription manager.
For example, Apache James Server injects the managers in the POP3, SMTP, IMAP4 servers and in the Mailet container.
Each implementation (Memory, Maildir, JPA, JCR), HBase) is responsible to implement the management interfaces. All "common/util" implementations reside in the Mailbox Store module.
The Mailbox Manager is responsible for session creation, operations on mailbox (create, delete, search) and to return a Message Manager. It also allows to copy and list messages.