1
0
mirror of https://github.com/moparisthebest/k-9 synced 2024-08-13 17:03:48 -04:00

Extracted inner class Store.StoreSettings

This commit is contained in:
cketti 2011-06-07 15:59:23 +02:00
parent 6abb5b5850
commit f4bcb4d923
5 changed files with 108 additions and 105 deletions

View File

@ -4,7 +4,7 @@ package com.fsck.k9.mail;
* The currently available connection security types.
*
* <p>
* Right now this enum is only used by {@link Store.StoreSettings} and converted to store-specific
* Right now this enum is only used by {@link StoreSettings} and converted to store-specific
* constants in the different Store implementations. In the future we probably want to change this
* and use {@code ConnectionSecurity} exclusively.
* </p>

View File

@ -13,7 +13,6 @@ import com.fsck.k9.mail.store.StorageManager.StorageProvider;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* Store is the access point for an email message store. It's location can be
@ -109,108 +108,6 @@ public abstract class Store {
}
}
/**
* This is an abstraction to get rid of the store-specific URIs.
*
* <p>
* Right now it's only used for settings import/export. But the goal is to get rid of
* store URIs altogether.
* </p>
*
* @see Account#getStoreUri()
*/
public static class StoreSettings {
/**
* Name of the store type (e.g. "IMAP").
*/
public final String type;
/**
* The host name of the incoming server.
*/
public final String host;
/**
* The port number of the incoming server.
*/
public final int port;
/**
* The type of connection security to be used when connecting to the incoming server.
*
* {@link ConnectionSecurity#NONE} if not applicable for the store.
*/
public final ConnectionSecurity connectionSecurity;
/**
* The authentication method to use when connecting to the incoming server.
*
* {@code null} if not applicable for the store.
*/
public final String authenticationType;
/**
* The username part of the credentials needed to authenticate to the incoming server.
*
* {@code null} if unused or not applicable for the store.
*/
public final String username;
/**
* The password part of the credentials needed to authenticate to the incoming server.
*
* {@code null} if unused or not applicable for the store.
*/
public final String password;
/**
* Creates a new {@code StoreSettings} object.
*
* @param type
* see {@link StoreSettings#type}
* @param host
* see {@link StoreSettings#host}
* @param port
* see {@link StoreSettings#port}
* @param connectionSecurity
* see {@link StoreSettings#connectionSecurity}
* @param authenticationType
* see {@link StoreSettings#authenticationType}
* @param username
* see {@link StoreSettings#username}
* @param password
* see {@link StoreSettings#password}
*/
public StoreSettings(String type, String host, int port,
ConnectionSecurity connectionSecurity, String authenticationType, String username,
String password) {
this.type = type;
this.host = host;
this.port = port;
this.connectionSecurity = connectionSecurity;
this.authenticationType = authenticationType;
this.username = username;
this.password = password;
}
/**
* Returns store-specific settings as key/value pair.
*
* <p>Classes that inherit from this one are expected to override this method.</p>
*/
public Map<String, String> getExtra() {
return null;
}
protected void putIfNotNull(Map<String, String> map, String key, String value) {
if (value != null) {
map.put(key, value);
}
}
}
protected final Account mAccount;

View File

@ -0,0 +1,105 @@
package com.fsck.k9.mail;
import java.util.Map;
import com.fsck.k9.Account;
/**
* This is an abstraction to get rid of the store-specific URIs.
*
* <p>
* Right now it's only used for settings import/export. But the goal is to get rid of
* store URIs altogether.
* </p>
*
* @see Account#getStoreUri()
*/
public class StoreSettings {
/**
* Name of the store type (e.g. "IMAP").
*/
public final String type;
/**
* The host name of the incoming server.
*/
public final String host;
/**
* The port number of the incoming server.
*/
public final int port;
/**
* The type of connection security to be used when connecting to the incoming server.
*
* {@link ConnectionSecurity#NONE} if not applicable for the store.
*/
public final ConnectionSecurity connectionSecurity;
/**
* The authentication method to use when connecting to the incoming server.
*
* {@code null} if not applicable for the store.
*/
public final String authenticationType;
/**
* The username part of the credentials needed to authenticate to the incoming server.
*
* {@code null} if unused or not applicable for the store.
*/
public final String username;
/**
* The password part of the credentials needed to authenticate to the incoming server.
*
* {@code null} if unused or not applicable for the store.
*/
public final String password;
/**
* Creates a new {@code StoreSettings} object.
*
* @param type
* see {@link StoreSettings#type}
* @param host
* see {@link StoreSettings#host}
* @param port
* see {@link StoreSettings#port}
* @param connectionSecurity
* see {@link StoreSettings#connectionSecurity}
* @param authenticationType
* see {@link StoreSettings#authenticationType}
* @param username
* see {@link StoreSettings#username}
* @param password
* see {@link StoreSettings#password}
*/
public StoreSettings(String type, String host, int port,
ConnectionSecurity connectionSecurity, String authenticationType, String username,
String password) {
this.type = type;
this.host = host;
this.port = port;
this.connectionSecurity = connectionSecurity;
this.authenticationType = authenticationType;
this.username = username;
this.password = password;
}
/**
* Returns store-specific settings as key/value pair.
*
* <p>Classes that inherit from this one are expected to override this method.</p>
*/
public Map<String, String> getExtra() {
return null;
}
protected void putIfNotNull(Map<String, String> map, String key, String value) {
if (value != null) {
map.put(key, value);
}
}
}

View File

@ -77,6 +77,7 @@ import com.fsck.k9.mail.Part;
import com.fsck.k9.mail.PushReceiver;
import com.fsck.k9.mail.Pusher;
import com.fsck.k9.mail.Store;
import com.fsck.k9.mail.StoreSettings;
import com.fsck.k9.mail.filter.CountingOutputStream;
import com.fsck.k9.mail.filter.EOLConvertingOutputStream;
import com.fsck.k9.mail.filter.FixedLengthInputStream;

View File

@ -26,7 +26,7 @@ import com.fsck.k9.K9;
import com.fsck.k9.Preferences;
import com.fsck.k9.helper.Utility;
import com.fsck.k9.mail.Store;
import com.fsck.k9.mail.Store.StoreSettings;
import com.fsck.k9.mail.StoreSettings;
import com.fsck.k9.mail.store.LocalStore;