org.apache.james.imapserver
Interface IMAPSystem
- All Superinterfaces:
- org.apache.avalon.framework.component.Composable, org.apache.avalon.framework.configuration.Configurable, org.apache.avalon.framework.context.Contextualizable
- All Known Implementing Classes:
- SimpleSystem
- public interface IMAPSystem
- extends org.apache.avalon.framework.configuration.Configurable, org.apache.avalon.framework.context.Contextualizable, org.apache.avalon.framework.component.Composable
An IMAP4rev1 messaging system, possible containing multiple Hosts. There
should be one instance of this class per instance of James.
An IMAP messaging system may span more than one server.
References: rfc 2060, rfc 2193, rfc 2221
- Version:
- 0.1 on 14 Dec 2000
- Author:
- Charles Benett
- See Also:
Host
Method Summary |
java.util.Iterator |
getAccessibleServers(java.lang.String username)
Returns an iterator over the collection of servers on which this user
has access. |
java.lang.String |
getHierarchySeperator(java.lang.String namespace)
Returns the character used as a mail hierarchy seperator in a given
namespace. |
java.lang.String |
getHomeServer(java.lang.String username)
Returns the home server (server with user's INBOX) for specified user. |
java.lang.String |
getNamespaces(java.lang.String username)
Provides the set of namesapces a given user can access. |
java.lang.String |
getNamespaceToken()
Returns the token indicating a namespace. |
Methods inherited from interface org.apache.avalon.framework.configuration.Configurable |
configure |
Methods inherited from interface org.apache.avalon.framework.context.Contextualizable |
contextualize |
Methods inherited from interface org.apache.avalon.framework.component.Composable |
compose |
ROLE
public static final java.lang.String ROLE
IMAP_SYSTEM
public static final java.lang.String IMAP_SYSTEM
PRIVATE
public static final java.lang.String PRIVATE
OTHER_USERS
public static final java.lang.String OTHER_USERS
SHARED
public static final java.lang.String SHARED
getNamespaceToken
public java.lang.String getNamespaceToken()
- Returns the token indicating a namespace. Implementation dependent but
by convention, '#'.
Example: #news.org.apache vs #mail.org.apache
getHomeServer
public java.lang.String getHomeServer(java.lang.String username)
throws AuthenticationException
- Returns the home server (server with user's INBOX) for specified user.
Enables Login Referrals per RFC2221. (Ie user attempts to login to a
server which is not their Home Server.) The returned string must comply
with RFC2192, IMAP URL Scheme.
- Parameters:
username
- String representation of a user- Throws:
AuthenticationException
- if this System does not recognise
the user.
getHierarchySeperator
public java.lang.String getHierarchySeperator(java.lang.String namespace)
- Returns the character used as a mail hierarchy seperator in a given
namespace. A namespace must use the same seperator at all levels of
hierarchy.
Recommendations (from rfc 2683) are period (US)/ full stop (Brit),
forward slash or backslash.
- Parameters:
namespace
- String identifying a namespace
getNamespaces
public java.lang.String getNamespaces(java.lang.String username)
- Provides the set of namesapces a given user can access. Implementations
should but are not required to reveal all namespaces that a user can
access. Different namespaces may be handled by different
IMAPHosts
- Parameters:
username
- String identifying a user of this System
getAccessibleServers
public java.util.Iterator getAccessibleServers(java.lang.String username)
- Returns an iterator over the collection of servers on which this user
has access. The collection should be unmodifiable.
Enable Mailbox Referrals - RFC 2193.
- Parameters:
username
- String identifying a user- Returns:
- iterator over a collection of strings
Copyright © 2001 Apache Jakarta Project. All Rights Reserved.