package com.fsck.k9.mail; import java.io.UnsupportedEncodingException; import java.net.URLDecoder; import java.net.URLEncoder; import java.util.List; /** * 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. */ public abstract class Store { public abstract Folder getFolder(String name); public abstract List getPersonalNamespaces(boolean forceListAll) throws MessagingException; public abstract void checkSettings() throws MessagingException; public boolean isCopyCapable() { return false; } public boolean isMoveCapable() { return false; } public boolean isPushCapable() { return false; } public boolean isSendCapable() { return false; } public boolean isExpungeCapable() { return false; } public boolean isSeenFlagSupported() { return true; } public void sendMessages(List messages) throws MessagingException { } public Pusher getPusher(PushReceiver receiver) { return null; } protected static String decodeUtf8(String s) { try { return URLDecoder.decode(s, "UTF-8"); } catch (UnsupportedEncodingException e) { throw new RuntimeException("UTF-8 not found"); } } protected static String encodeUtf8(String s) { try { return URLEncoder.encode(s, "UTF-8"); } catch (UnsupportedEncodingException e) { throw new RuntimeException("UTF-8 not found"); } } }