blob: c4ffa5f0e0a7ebc3574e91077713865593147e5f [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!-- Generated by Apache Maven Doxia at Apr 17, 2012 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>
Mailbox API</title>
<style type="text/css" media="all">
@import url("./css/james.css");
@import url("./css/maven-base.css");
@import url("./css/maven-theme.css");
@import url("./css/site.css");
@import url("./js/jquery/css/custom-theme/jquery-ui-1.8.5.custom.css");
@import url("./js/jquery/css/print.css");
@import url("./js/fancybox/jquery.fancybox-1.3.4.css");
</style>
<script type="text/javascript" src="./js/jquery/js/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="./js/jquery/js/jquery-ui-1.8.5.custom.min.js"></script>
<script type="text/javascript" src="./js/fancybox/jquery.fancybox-1.3.4.js"></script>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
<meta name="Date-Revision-yyyymmdd" content="20120417" />
<meta http-equiv="Content-Language" content="en" />
<link title="DOAP" rel="meta" type="application/rdf+xml" href="http://james.apache.org//doap_james-project.rdf"/>
<!-- Google Analytics -->
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-1384591-1']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script').item(0); s.parentNode.insertBefore(ga, s);
})();
</script>
</head>
<body class="composite">
<div id="banner">
<a href="../server/index.html" id="bannerLeft" title="james-server-logo.gif">
<img src="images/logos/james-server-logo.gif" alt="James Server" />
</a>
<a href="http://www.apache.org/index.html" id="bannerRight">
<img src="images/logos/asf-logo-reduced.gif" alt="The Apache Software Foundation" />
</a>
<div class="clear">
<hr/>
</div>
</div>
<div id="breadcrumbs">
<div class="xleft">
<span id="publishDate">Last Published: 2012-04-17</span>
</div>
<div class="xright"> <a href="../index.html" title="Home">Home</a>
|
<a href="../server/index.html" title="Server">Server</a>
|
<a href="../hupa/index.html" title="Hupa">Hupa</a>
|
<a href="../protocols/index.html" title="Protocols">Protocols</a>
|
<a href="../imap/index.html" title="IMAP">IMAP</a>
|
<a href="../mailet/index.html" title="Mailets">Mailets</a>
|
<a href="index.html" title="Mailbox">Mailbox</a>
|
<a href="../mime4j/index.html" title="Mime4J">Mime4J</a>
|
<a href="../jsieve/index.html" title="jSieve">jSieve</a>
|
<a href="../jspf/index.html" title="jSPF">jSPF</a>
|
<a href="../jdkim/index.html" title="jDKIM">jDKIM</a>
|
<a href="../mpt/index.html" title="MPT">MPT</a>
|
<a href="../postage/index.html" title="Postage">Postage</a>
</div>
<div class="clear">
<hr/>
</div>
</div>
<div id="leftColumn">
<div id="navcolumn">
<h5>Mailbox</h5>
<ul>
<li class="none">
<a href="index.html" title="Introduction">Introduction</a>
</li>
<li class="none">
<a href="source-code.html" title="Source Code">Source Code</a>
</li>
</ul>
<h5>Framework</h5>
<ul>
<li class="none">
<strong>Mailbox API</strong>
</li>
<li class="none">
<a href="mailbox-store.html" title="Mailbox Store">Mailbox Store</a>
</li>
<li class="none">
<a href="mailbox-tool.html" title="Mailbox Tool">Mailbox Tool</a>
</li>
</ul>
<h5>Implementations</h5>
<ul>
<li class="none">
<a href="mailbox-memory.html" title="Mailbox Memory">Mailbox Memory</a>
</li>
<li class="none">
<a href="mailbox-maildir.html" title="Mailbox Maildir">Mailbox Maildir</a>
</li>
<li class="none">
<a href="mailbox-jpa.html" title="Mailbox JPA">Mailbox JPA</a>
</li>
<li class="none">
<a href="mailbox-jcr.html" title="Mailbox JCR">Mailbox JCR</a>
</li>
<li class="none">
<a href="mailbox-hbase.html" title="Mailbox HBase">Mailbox HBase</a>
</li>
</ul>
<h5>Wiring</h5>
<ul>
<li class="none">
<a href="mailbox-spring.html" title="Spring">Spring</a>
</li>
<li class="none">
<a href="mailbox-guice.html" title="Guice">Guice</a>
</li>
</ul>
<h5>References</h5>
<ul>
<li class="none">
<a href="apidocs/index.html" title="Javadoc">Javadoc</a>
</li>
<li class="none">
<a href="https://issues.apache.org/jira/browse/MAILBOX" title="Issue Tracker">Issue Tracker</a>
</li>
</ul>
<h5>About James</h5>
<ul>
<li class="none">
<a href="../index.html" title="Overview">Overview</a>
</li>
<li class="none">
<a href="../newsarchive.html" title="News">News</a>
</li>
<li class="none">
<a href="../mail.html" title="Mailing Lists">Mailing Lists</a>
</li>
<li class="none">
<a href="../contribute.html" title="Contributing">Contributing</a>
</li>
<li class="none">
<a href="../guidelines.html" title="Guidelines">Guidelines</a>
</li>
<li class="none">
<a href="http://wiki.apache.org/james" title="Wiki">Wiki</a>
</li>
<li class="none">
<a href="../team-list.html" title="Who We Are">Who We Are</a>
</li>
<li class="none">
<a href="../license.html" title="License">License</a>
</li>
</ul>
<h5>Download</h5>
<ul>
<li class="none">
<a href="../download.cgi" title="Releases">Releases</a>
</li>
<li class="none">
<a href="https://repository.apache.org/content/repositories/snapshots/org/apache/james/" title=""></a>
</li>
</ul>
<h5>Apache Software Foundation</h5>
<ul>
<li>
<strong>
<a title="ASF" href="http://www.apache.org/">ASF</a>
</strong>
</li>
<li>
<a title="Get Involved" href="http://www.apache.org/foundation/getinvolved.html">Get Involved</a>
</li>
<li>
<a title="FAQ" href="http://www.apache.org/foundation/faq.html">FAQ</a>
</li>
<li>
<a title="License" href="http://www.apache.org/licenses/" >License</a>
</li>
<li>
<a title="Sponsorship" href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a>
</li>
<li>
<a title="Thanks" href="http://www.apache.org/foundation/thanks.html">Thanks</a>
</li>
<li>
<a title="Security" href="http://www.apache.org/security/">Security</a>
</li>
</ul>
<a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
<img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
</a>
</div>
</div>
<div id="bodyColumn">
<div id="contentBox">
<!-- Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License. -->
<div class="section"><h2>Mailbox API Responsibility<a name="Mailbox_API_Responsibility"></a></h2>
<p>This module contains the interfaces and exceptions to be used by the
mailbox clients. It represents the &quot;external view&quot; of the mailbox
library client.</p>
<p>The services the mailbox library provides can be summarized as &quot;store/retrieve/search/delete mails&quot;
and update the mails metadata (via uid and flags)</p>
<p>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.</p>
<p>For example, Apache James Server injects the managers in the POP3, SMTP, IMAP4 servers
and in the Mailet container.</p>
<p>Each implementation (<a href="mailbox-memory.html">Memory</a>,
<a href="mailbox-maildir.html">Maildir</a>,
<a href="mailbox-jpa.html">JPA</a>,
<a href="mailbox-jcr.html">JCR)</a>,
<a href="mailbox-hbase.html">HBase</a>) is responsible
to implement the management interfaces. All &quot;common/util&quot; implementations
reside in the <a href="mailbox-store.html">Mailbox Store</a> module.</p>
</div>
<div class="section"><h2>Manager Interfaces<a name="Manager_Interfaces"></a></h2>
<div class="section"><h3>Mailbox Manager<a name="Mailbox_Manager"></a></h3>
<p>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.</p>
<!-- Image is no more in line with trunk
<p><img src="images/uml/org-apache-james-mailbox-api-mailboxmanager.png"/></p> -->
</div>
<div class="section"><h3>Message Manager<a name="Message_Manager"></a></h3>
<p>The Message Manager is responsible to create, delete message and its associated metadata (the uid and the flags).</p>
<!-- Image is no more in line with trunk
<p><img src="images/uml/org-apache-james-mailbox-api-messagemanager.png"/></p> -->
</div>
<div class="section"><h3>Subscription Manager<a name="Subscription_Manager"></a></h3>
<p>The Subscription Manager is responsible for the (un)subscription between a user and a mailbox.</p>
<!-- Image is no more in line with trunk
<p><img src="images/uml/org-apache-james-mailbox-api-subscriptionmanager.png"/></p> -->
</div>
</div>
<!-- <section name="Other Interfaces and Classes">
Image is no more in line with trunk
<p><img src="images/uml/org-apache-james-mailbox-api-msc.png"/></p>
</section> -->
</div>
</div>
<div class="clear">
<hr/>
</div>
<div id="footer">
<div class="xright">Copyright &#169; 2010-2012
<a href="http://www.apache.org/">The Apache Software Foundation</a>.
All Rights Reserved.
</div>
<div class="clear">
<hr/>
</div>
</div>
</body>
</html>