| 
 | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectjavax.mail.Service
javax.mail.Store
com.sun.mail.imap.IMAPStore
public class IMAPStore
This class provides access to an IMAP message store.
 Applications that need to make use of IMAP-specific features may cast
 a Store object to an IMAPStore object and
 use the methods on this class. The getQuota and
 setQuota methods support the IMAP QUOTA extension.
 Refer to RFC 2087
 for more information. 
See the com.sun.mail.imap package documentation for further information on the IMAP protocol provider.
WARNING: The APIs unique to this class should be considered EXPERIMENTAL. They may be changed in the future in ways that are incompatible with applications using the current APIs.
| Field Summary | |
|---|---|
| static int | RESPONSEA special event type for a StoreEvent to indicate an IMAP response, if the mail.imap.enableimapevents property is set. | 
| Fields inherited from class javax.mail.Service | 
|---|
| debug, session, url | 
| Constructor Summary | |
|---|---|
|   | IMAPStore(Session session,
          URLName url)Constructor that takes a Session object and a URLName that represents a specific IMAP server. | 
| protected  | IMAPStore(Session session,
          URLName url,
          String name,
          boolean isSSL)Constructor used by this class and by IMAPSSLStore subclass. | 
| Method Summary | |
|---|---|
|  void | close()Close this Store. | 
| protected  void | finalize()Stop the event dispatcher thread so the queue can be garbage collected. | 
|  Folder | getDefaultFolder()Get the default folder, representing the root of this user's namespace. | 
|  Folder | getFolder(String name)Get named folder. | 
|  Folder | getFolder(URLName url)Get named folder. | 
|  Folder[] | getPersonalNamespaces()Using the IMAP NAMESPACE command (RFC 2342), return a set of folders representing the Personal namespaces. | 
|  Quota[] | getQuota(String root)Get the quotas for the named quota root. | 
|  Folder[] | getSharedNamespaces()Using the IMAP NAMESPACE command (RFC 2342), return a set of folders representing the Shared namespaces. | 
|  Folder[] | getUserNamespaces(String user)Using the IMAP NAMESPACE command (RFC 2342), return a set of folders representing the User's namespaces. | 
|  void | handleResponse(com.sun.mail.iap.Response r)Response handler method. | 
|  boolean | hasCapability(String capability)Return true if the specified capability string is in the list of capabilities the server announced. | 
|  void | idle()Use the IMAP IDLE command (see RFC 2177), if supported by the server, to enter idle mode so that the server can send unsolicited notifications without the need for the client to constantly poll the server. | 
|  boolean | isConnected()Check whether this store is connected. | 
| protected  IMAPFolder | newIMAPFolder(com.sun.mail.imap.protocol.ListInfo li)Create an IMAPFolder object. | 
| protected  IMAPFolder | newIMAPFolder(String fullName,
              char separator)Create an IMAPFolder object. | 
| protected  IMAPFolder | newIMAPFolder(String fullName,
              char separator,
              Boolean isNamespace)Create an IMAPFolder object. | 
| protected  void | preLogin(com.sun.mail.imap.protocol.IMAPProtocol p)This method is called after the connection is made and TLS is started (if needed), but before any authentication is attempted. | 
| protected  boolean | protocolConnect(String host,
                int pport,
                String user,
                String password)Implementation of protocolConnect(). | 
|  void | setPassword(String password)Set the password that will be used for subsequent connections after this Store is first connected (for example, when creating a connection to open a Folder). | 
|  void | setQuota(Quota quota)Set the quotas for the quota root specified in the quota argument. | 
|  void | setUsername(String user)Set the user name that will be used for subsequent connections after this Store is first connected (for example, when creating a connection to open a Folder). | 
| Methods inherited from class javax.mail.Store | 
|---|
| addFolderListener, addStoreListener, notifyFolderListeners, notifyFolderRenamedListeners, notifyStoreListeners, removeFolderListener, removeStoreListener | 
| Methods inherited from class javax.mail.Service | 
|---|
| addConnectionListener, connect, connect, connect, connect, getURLName, notifyConnectionListeners, queueEvent, removeConnectionListener, setConnected, setURLName, toString | 
| Methods inherited from class java.lang.Object | 
|---|
| clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait | 
| Field Detail | 
|---|
public static final int RESPONSE
| Constructor Detail | 
|---|
public IMAPStore(Session session,
                 URLName url)
protected IMAPStore(Session session,
                    URLName url,
                    String name,
                    boolean isSSL)
| Method Detail | 
|---|
protected boolean protocolConnect(String host,
                                  int pport,
                                  String user,
                                  String password)
                           throws MessagingException
 The host, user, and password
 parameters must all be non-null.  If the authentication mechanism
 being used does not require a password, an empty string or other
 suitable dummy password should be used.
protocolConnect in class Servicehost - the name of the host to connect topport - the port to use (-1 means use default port)user - the name of the user to login aspassword - the user's password
AuthenticationFailedException - for authentication failures
MessagingException - for non-authentication failures
protected void preLogin(com.sun.mail.imap.protocol.IMAPProtocol p)
                 throws com.sun.mail.iap.ProtocolException
The implementation of this method in this class does nothing.
com.sun.mail.iap.ProtocolExceptionpublic void setUsername(String user)
Some IMAP servers may provide an authentication ID that can be used for more efficient authentication for future connections. This authentication ID is provided in a server-specific manner not described here.
Most applications will never need to use this method.
public void setPassword(String password)
Most applications will never need to use this method.
public boolean hasCapability(String capability)
                      throws MessagingException
MessagingExceptionpublic boolean isConnected()
isConnected in class Service
public void close()
           throws MessagingException
close in class ServiceMessagingException - for errors while closingConnectionEvent
protected void finalize()
                 throws Throwable
Service
finalize in class ServiceThrowable
public Folder getDefaultFolder()
                        throws MessagingException
getDefaultFolder in class StoreMessagingException
public Folder getFolder(String name)
                 throws MessagingException
getFolder in class Storename - The name of the Folder. In some Stores, name can
                        be an absolute path if it starts with the
                        hierarchy delimiter. Else it is interpreted
                        relative to the 'root' of this namespace.
MessagingExceptionFolder.exists(), 
Folder.create(int)
public Folder getFolder(URLName url)
                 throws MessagingException
getFolder in class Storeurl - URLName that denotes a folder
MessagingExceptionURLName
protected IMAPFolder newIMAPFolder(String fullName,
                                   char separator,
                                   Boolean isNamespace)
protected IMAPFolder newIMAPFolder(String fullName,
                                   char separator)
protected IMAPFolder newIMAPFolder(com.sun.mail.imap.protocol.ListInfo li)
public Folder[] getPersonalNamespaces()
                               throws MessagingException
getPersonalNamespaces in class StoreMessagingException
public Folder[] getUserNamespaces(String user)
                           throws MessagingException
getUserNamespaces in class StoreMessagingException
public Folder[] getSharedNamespaces()
                             throws MessagingException
getSharedNamespaces in class StoreMessagingException
public Quota[] getQuota(String root)
                 throws MessagingException
getQuota in interface QuotaAwareStoreroot - the name of the quota root
MessagingException - if the server doesn't support the
                                        QUOTA extension
public void setQuota(Quota quota)
              throws MessagingException
getQuota method, but it need not be.
setQuota in interface QuotaAwareStorequota - the quota to set
MessagingException - if the server doesn't support the
                                        QUOTA extensionpublic void handleResponse(com.sun.mail.iap.Response r)
handleResponse in interface com.sun.mail.iap.ResponseHandler
public void idle()
          throws MessagingException
ConnectionListener to be notified of
 events.  When another thread (e.g., the listener thread)
 needs to issue an IMAP comand for this Store, the idle mode will
 be terminated and this method will return.  Typically the caller
 will invoke this method in a loop. 
 If the mail.imap.enableimapevents property is set, notifications
 received while the IDLE command is active will be delivered to
 ConnectionListeners as events with a type of
 IMAPStore.RESPONSE.  The event's message will be
 the raw IMAP response string.
 Note that most IMAP servers will not deliver any events when
 using the IDLE command on a connection with no mailbox selected
 (i.e., this method).  In most cases you'll want to use the
 idle method on IMAPFolder. 
NOTE: This capability is highly experimental and likely will change in future releases.
The mail.imap.minidletime property enforces a minimum delay before returning from this method, to ensure that other threads have a chance to issue commands before the caller invokes this method again. The default delay is 10 milliseconds.
MessagingException - if the server doesn't support the
                                        IDLE extension
IllegalStateException - if the store isn't connected| 
 | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||