FileDocCategorySizeDatePackage
Store.javaAPI DocAndroid 1.5 API3774Wed May 06 22:42:46 BST 2009com.android.email.mail

Store

public abstract class Store extends Object
Store is the access point for an email message store. It's location can be local or remote and no specific protocol is defined. Store is intended to loosely model in combination the JavaMail classes javax.mail.Store and javax.mail.Folder along with some additional functionality to improve performance on mobile devices. Implementations of this class should focus on making as few network connections as possible.

Fields Summary
public static final String
STORE_SCHEME_IMAP
String constants for known store schemes.
public static final String
STORE_SCHEME_POP3
public static final String
STORE_SCHEME_LOCAL
public static final int
FETCH_BODY_SANE_SUGGESTED_SIZE
A global suggestion to Store implementors on how much of the body should be returned on FetchProfile.Item.BODY_SANE requests.
private static HashMap
mStores
Constructors Summary
Methods Summary
public abstract voidcheckSettings()

public abstract FoldergetFolder(java.lang.String name)

public static synchronized com.android.email.mail.StoregetInstance(java.lang.String uri, android.app.Application application)
Get an instance of a mail store. The URI is parsed as a standard URI and the scheme is used to determine which protocol will be used. The following schemes are currently recognized: imap - IMAP with no connection security. Ex: imap://username:password@host/ imap+tls - IMAP with TLS connection security, if the server supports it. Ex: imap+tls://username:password@host imap+tls+ - IMAP with required TLS connection security. Connection fails if TLS is not available. Ex: imap+tls+://username:password@host imap+ssl+ - IMAP with required SSL connection security. Connection fails if SSL is not available. Ex: imap+ssl+://username:password@host

param
uri The URI of the store.
return
an initialized store of the appropriate class
throws
MessagingException


                                                                                                                    
              
        Store store = mStores.get(uri);
        if (store == null) {
            if (uri.startsWith(STORE_SCHEME_IMAP)) {
                store = new ImapStore(uri);
            } else if (uri.startsWith(STORE_SCHEME_POP3)) {
                store = new Pop3Store(uri);
            } else if (uri.startsWith(STORE_SCHEME_LOCAL)) {
                store = new LocalStore(uri, application);
            }

            if (store != null) {
                mStores.put(uri, store);
            }
        }

        if (store == null) {
            throw new MessagingException("Unable to locate an applicable Store for " + uri);
        }

        return store;
    
public abstract Folder[]getPersonalNamespaces()