|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.abstracthorizon.mercury.common.SimpleStorageManager
org.abstracthorizon.mercury.accounts.spring.MaildirKeystoreStorageManager
public class MaildirKeystoreStorageManager
Storage manager that uses maildir java mail provider for storing messages, properties file for defining storages, domains and aliases and keystore for stroring passwords.
Nested Class Summary |
---|
Nested classes/interfaces inherited from class org.abstracthorizon.mercury.common.SimpleStorageManager |
---|
SimpleStorageManager.Entry, SimpleStorageManager.URLNameFix |
Field Summary | |
---|---|
protected org.slf4j.Logger |
logger
Logger |
Fields inherited from class org.abstracthorizon.mercury.common.SimpleStorageManager |
---|
autosave, caseSensitive, propertiesFile, props, session |
Constructor Summary | |
---|---|
MaildirKeystoreStorageManager()
Constructor |
Method Summary | |
---|---|
void |
addDomain(String domain)
Adds new domain |
protected void |
addEntryToStore(KeyStore keyStore,
String entry,
char[] password)
Adds entry to a keystore |
void |
addMailbox(String mailbox,
String domain,
char[] password)
Adds new mailbox |
void |
changeMailboxPassword(String mailbox,
String domain,
char[] newPassword)
Changes password of a mailbox. |
void |
changeMailboxPassword(String mailbox,
String domain,
char[] oldPassword,
char[] newPassword)
Changes mailboxes password. |
protected String |
decorateStoreString(String mailbox,
String domain,
String storeString)
|
protected File |
ensureExists(String mailbox,
String domain)
Ensures that mailbox (in domain) exists |
String[] |
getDomains()
Returns domains |
File |
getKeyStoreFile()
Returns keystore resource |
String |
getKeyStoreProvider()
Returns keystore provider |
String |
getKeyStoreType()
Returns keystore type |
File |
getMailboxesPath()
Returns mailboxes path |
String[] |
getMailboxNames()
Returns an array of mailbox names in all domains |
String[] |
getMailboxNames(String domain)
Returns an array of mailbox names for given domain |
protected KeyStore |
loadKeyStore()
Loads keystore |
protected void |
makeMaildirLayout(File mailbox)
Makes maildir layout of an mailbox |
boolean |
removeDomain(String domain)
Removes domain |
boolean |
removeMailbox(String mailbox,
String domain)
Removes mailbox |
void |
setKeyStoreFile(File keystoreFile)
Keystore location |
void |
setKeyStorePassword(String password)
Sets keystore password |
void |
setKeyStoreProvider(String provider)
Sets keystore provider |
void |
setKeyStoreType(String type)
Sets keystore type |
void |
setMailboxesPath(File mailboxesPath)
Sets mailboxes path |
void |
setMainDomain(String domain)
Sets main domain |
protected void |
storeKeyStore(KeyStore keystore)
Stores keystore back to provided resource |
Methods inherited from class org.abstracthorizon.mercury.common.SimpleStorageManager |
---|
addAlias, addEntry, addMailbox, createURLName, findInbox, findStore, getAliases, getJavaMailSession, getMainDomain, getPropertiesFile, getPropertiesInputStream, getPropertiesOutputStream, hasDomain, init, isAutosave, isCaseSensitive, load, makeEntry, obtainStore, obtainStoreString, removeAlias, save, setAutosave, setCaseSensitive, setJavaMailSession, setPropertiesFile, toLowerCase |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface org.abstracthorizon.mercury.common.StorageManager |
---|
findInbox, findStore, getMainDomain, hasDomain |
Field Detail |
---|
protected org.slf4j.Logger logger
Constructor Detail |
---|
public MaildirKeystoreStorageManager()
Method Detail |
---|
public void setKeyStorePassword(String password)
password
- keystore passwordpublic void setKeyStoreFile(File keystoreFile) throws IOException
keystoreLocation
- keystore location
IOException
public File getKeyStoreFile()
public void setMailboxesPath(File mailboxesPath) throws IOException
mailboxesPath
- path mailboxes are defined on
IOException
public File getMailboxesPath()
public void setKeyStoreType(String type)
type
- keystore typepublic String getKeyStoreType()
public void setKeyStoreProvider(String provider)
provider
- keystore providerpublic String getKeyStoreProvider()
protected KeyStore loadKeyStore() throws KeyStoreException, NoSuchProviderException, MalformedURLException, IOException, NoSuchAlgorithmException, CertificateException
KeyStoreException
NoSuchProviderException
MalformedURLException
IOException
NoSuchAlgorithmException
CertificateException
protected void storeKeyStore(KeyStore keystore) throws KeyStoreException, NoSuchProviderException, MalformedURLException, IOException, NoSuchAlgorithmException, CertificateException
keystore
- keystore to be stored
KeyStoreException
NoSuchProviderException
MalformedURLException
IOException
NoSuchAlgorithmException
CertificateException
protected void addEntryToStore(KeyStore keyStore, String entry, char[] password) throws NoSuchAlgorithmException, KeyStoreException, InvalidKeyException, SecurityException, SignatureException, CertificateEncodingException, IllegalStateException, NoSuchProviderException
keyStore
- keystoreentry
- entrypassword
- password an entry
NoSuchAlgorithmException
KeyStoreException
InvalidKeyException
SecurityException
SignatureException
NoSuchProviderException
IllegalStateException
CertificateEncodingException
protected String decorateStoreString(String mailbox, String domain, String storeString)
decorateStoreString
in class SimpleStorageManager
protected File ensureExists(String mailbox, String domain)
mailbox
- mailboxdomain
- domain
protected void makeMaildirLayout(File mailbox)
mailbox
- mailbox pathpublic void addMailbox(String mailbox, String domain, char[] password)
addMailbox
in interface ConfigurableStorageManager
mailbox
- mailboxdomain
- domainpassword
- passwordpublic boolean removeMailbox(String mailbox, String domain)
removeMailbox
in interface ConfigurableStorageManager
removeMailbox
in class SimpleStorageManager
mailbox
- mailboxdomain
- domain
true
if mailbox existedpublic void changeMailboxPassword(String mailbox, String domain, char[] newPassword)
mailbox
- mailboxdomain
- domainnewPassword
- new passwordpublic void changeMailboxPassword(String mailbox, String domain, char[] oldPassword, char[] newPassword)
changeMailboxPassword
in interface ConfigurableStorageManager
mailbox
- mailboxdomain
- domainoldPassword
- old passwordnewPassword
- new passwordpublic String[] getMailboxNames()
getMailboxNames
in interface ConfigurableStorageManager
getMailboxNames
in class SimpleStorageManager
public String[] getMailboxNames(String domain)
getMailboxNames
in interface ConfigurableStorageManager
getMailboxNames
in class SimpleStorageManager
domain
- domain
public void addDomain(String domain)
addDomain
in interface ConfigurableStorageManager
addDomain
in class SimpleStorageManager
domain
- public boolean removeDomain(String domain)
removeDomain
in interface ConfigurableStorageManager
removeDomain
in class SimpleStorageManager
domain
- domain
true
if domain existedpublic String[] getDomains()
getDomains
in interface ConfigurableStorageManager
getDomains
in class SimpleStorageManager
public void setMainDomain(String domain)
setMainDomain
in interface ConfigurableStorageManager
setMainDomain
in class SimpleStorageManager
domain
-
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |