gnu.mail.providers.imap

Class IMAPStore


public class IMAPStore
extends Store

The storage class implementing the IMAP4rev1 mail protocol.

Field Summary

protected IMAPConnection
connection
The connection to the IMAP server.
protected IMAPFolder
root
Folder representing the root namespace of the IMAP connection.
protected IMAPFolder
selected
The currently selected folder.

Fields inherited from class javax.mail.Service

debug, session, url

Constructor Summary

IMAPStore(Session session, URLName url)
Constructor.

Method Summary

void
close()
Closes the connection.
protected IMAPConnection
getConnection()
Returns the IMAP connection used by this store.
Folder
getDefaultFolder()
Returns the root folder.
Folder
getFolder(String name)
Returns the folder with the specified name.
Folder
getFolder(URLName urlname)
Returns the folder whose name is the file part of the specified URLName.
Folder[]
getPersonalNamespaces()
Returns a list of folders representing personal namespaces.
Quota
getQuota(String root)
Returns the quota for the specified quota root.
Folder[]
getSharedNamespaces()
Returns a list of folders representing shared namespaces.
protected TrustManager
getTrustManager()
Returns a trust manager used for TLS negotiation.
Folder[]
getUserNamespaces()
Returns a list of folders representing other users' namespaces.
protected boolean
isSelected(IMAPFolder folder)
Indicates whether the specified folder is selected.
protected void
processAlerts()
Process any alerts supplied by the server.
protected boolean
protocolConnect(String host, int port, String username, String password)
Connects to the IMAP server and authenticates with the specified parameters.
void
setQuota(String root, Quota.Resource[] resources)
Sets the quota resource set for the specified quota root.
protected void
setSelected(IMAPFolder folder)
Sets the selected folder.

Methods inherited from class javax.mail.Store

addFolderListener, addStoreListener, getDefaultFolder, getFolder, getFolder, getPersonalNamespaces, getSharedNamespaces, getUserNamespaces, notifyFolderListeners, notifyFolderRenamedListeners, notifyStoreListeners, removeFolderListener, removeStoreListener

Methods inherited from class javax.mail.Service

addConnectionListener, close, connect, connect, connect, getURLName, isConnected, notifyConnectionListeners, protocolConnect, removeConnectionListener, setConnected, setURLName, toString

Field Details

connection

protected IMAPConnection connection
The connection to the IMAP server.


root

protected IMAPFolder root
Folder representing the root namespace of the IMAP connection.


selected

protected IMAPFolder selected
The currently selected folder.

Constructor Details

IMAPStore

public IMAPStore(Session session,
                 URLName url)
Constructor.

Method Details

close

public void close()
            throws MessagingException
Closes the connection.
Overrides:
close in interface Service


getConnection

protected IMAPConnection getConnection()
            throws StoreClosedException
Returns the IMAP connection used by this store.

Throws:
StoreClosedException - if the store is not currently connected


getDefaultFolder

public Folder getDefaultFolder()
            throws MessagingException
Returns the root folder.
Overrides:
getDefaultFolder in interface Store


getFolder

public Folder getFolder(String name)
            throws MessagingException
Returns the folder with the specified name.
Overrides:
getFolder in interface Store


getFolder

public Folder getFolder(URLName urlname)
            throws MessagingException
Returns the folder whose name is the file part of the specified URLName.
Overrides:
getFolder in interface Store


getPersonalNamespaces

public Folder[] getPersonalNamespaces()
            throws MessagingException
Returns a list of folders representing personal namespaces. See RFC 2342 for details.
Overrides:
getPersonalNamespaces in interface Store


getQuota

public Quota getQuota(String root)
            throws MessagingException
Returns the quota for the specified quota root.

Parameters:
root - the quota root


getSharedNamespaces

public Folder[] getSharedNamespaces()
            throws MessagingException
Returns a list of folders representing shared namespaces. See RFC 2342 for details.
Overrides:
getSharedNamespaces in interface Store


getTrustManager

protected TrustManager getTrustManager()
            throws MessagingException
Returns a trust manager used for TLS negotiation.


getUserNamespaces

public Folder[] getUserNamespaces()
            throws MessagingException
Returns a list of folders representing other users' namespaces. See RFC 2342 for details.


isSelected

protected boolean isSelected(IMAPFolder folder)
Indicates whether the specified folder is selected.


processAlerts

protected void processAlerts()
Process any alerts supplied by the server.


protocolConnect

protected boolean protocolConnect(String host,
                                  int port,
                                  String username,
                                  String password)
            throws MessagingException
Connects to the IMAP server and authenticates with the specified parameters.
Overrides:
protocolConnect in interface Service


setQuota

public void setQuota(String root,
                     Quota.Resource[] resources)
            throws MessagingException
Sets the quota resource set for the specified quota root.

Parameters:
root - the quota root
resources - the quota resources to set


setSelected

protected void setSelected(IMAPFolder folder)
Sets the selected folder.