public final class SingletonMailAccessCache extends java.lang.Object implements IMailAccessCache
SingletonMailAccessCache - A very volatile cache for already connected instances of MailAccess.
Only one mail access can be cached per user and is dedicated to fasten sequential mail requests
| Modifier and Type | Method and Description |
|---|---|
void |
clearUserEntries(com.openexchange.session.Session session)
Clears the cache entries kept for specified user.
|
void |
close()
Closes this cache.
|
boolean |
containsMailAccess(com.openexchange.session.Session session,
int accountId)
Checks if cache already holds a user-bound mail access for specified account.
|
static SingletonMailAccessCache |
getInstance()
Gets the singleton instance.
|
void |
initCache()
Initializes cache reference.
|
static SingletonMailAccessCache |
newInstance()
Creates a new
SingletonMailAccessCache |
int |
numberOfMailAccesses(com.openexchange.session.Session session,
int accountId)
Gets the number of cached, user-bound mail accesses for specified account.
|
boolean |
putMailAccess(com.openexchange.session.Session session,
int accountId,
MailAccess<? extends IMailFolderStorage,? extends IMailMessageStorage> mailAccess)
Puts given mail access into cache if none user-bound connection is already contained in cache.
|
void |
releaseCache()
Releases cache reference.
|
static void |
releaseInstance()
Releases the singleton instance.
|
MailAccess<? extends IMailFolderStorage,? extends IMailMessageStorage> |
removeMailAccess(com.openexchange.session.Session session,
int accountId)
Removes and returns a mail access from cache.
|
public static SingletonMailAccessCache newInstance() throws com.openexchange.exception.OXException
SingletonMailAccessCacheSingletonMailAccessCachecom.openexchange.exception.OXException - If initialization failspublic static SingletonMailAccessCache getInstance() throws com.openexchange.exception.OXException
com.openexchange.exception.OXException - If instance initialization failspublic static void releaseInstance()
public void initCache()
throws com.openexchange.exception.OXException
com.openexchange.exception.OXException - If initializing the time-out map reference failspublic void close()
IMailAccessCacheclose in interface IMailAccessCachepublic void releaseCache()
public int numberOfMailAccesses(com.openexchange.session.Session session,
int accountId)
throws com.openexchange.exception.OXException
IMailAccessCachenumberOfMailAccesses in interface IMailAccessCachesession - The sessionaccountId - The account IDcom.openexchange.exception.OXExceptionpublic MailAccess<? extends IMailFolderStorage,? extends IMailMessageStorage> removeMailAccess(com.openexchange.session.Session session, int accountId)
removeMailAccess in interface IMailAccessCachesession - The sessionaccountId - The account IDMailAccess or nullpublic boolean putMailAccess(com.openexchange.session.Session session,
int accountId,
MailAccess<? extends IMailFolderStorage,? extends IMailMessageStorage> mailAccess)
putMailAccess in interface IMailAccessCachesession - The sessionaccountId - The account IDmailAccess - The mail access to put into cachetrue if mail access could be successfully cached; otherwise falsepublic boolean containsMailAccess(com.openexchange.session.Session session,
int accountId)
containsMailAccess in interface IMailAccessCachesession - The sessionaccountId - The account IDtrue if a user-bound mail access is already present in cache; otherwise falsepublic void clearUserEntries(com.openexchange.session.Session session)
throws com.openexchange.exception.OXException
clearUserEntries in interface IMailAccessCachesession - The sessioncom.openexchange.exception.OXException - If clearing user entries fails