Class DefaultApplicationCache
java.lang.Object
com.atlassian.confluence.impl.user.crowd.DefaultApplicationCache
- All Implemented Interfaces:
ApplicationCache
Implementation of
ApplicationCache that delegates to CacheFactory
for caching. The key for each entry is a lower-case version of the name and the value is an
immutable copy of the Application.-
Nested Class Summary
Nested classes/interfaces inherited from interface com.atlassian.confluence.impl.user.crowd.ApplicationCache
ApplicationCache.Loader -
Constructor Summary
ConstructorsConstructorDescriptionDefaultApplicationCache(TransactionAwareCacheFactory cacheFactory, com.atlassian.event.api.EventPublisher eventPublisher) -
Method Summary
Modifier and TypeMethodDescriptionvoiddirectoryUpdated(com.atlassian.crowd.event.directory.DirectoryUpdatedEvent directoryUpdatedEvent) com.atlassian.crowd.model.application.ApplicationgetApplication(String name, ApplicationCache.Loader loader) Returns the cached application with the given name, or null if the application isn't cached.voidinit()voidRemoves all entries from the cache.voidremoveApplication(String name) Removes the application with the given name from the cache.static <T extends Exception>
TunwrapOrRethrow(RuntimeException ex, Class<T> expectedType) Look throw the causal chain until we find an exception that is of the expected type, or just rethrow the full chain if not.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.atlassian.confluence.impl.user.crowd.ApplicationCache
removeApplication
-
Constructor Details
-
DefaultApplicationCache
public DefaultApplicationCache(TransactionAwareCacheFactory cacheFactory, com.atlassian.event.api.EventPublisher eventPublisher) - Since:
- 7.5
-
-
Method Details
-
init
@PostConstruct public void init() -
directoryUpdated
@EventListener public void directoryUpdated(com.atlassian.crowd.event.directory.DirectoryUpdatedEvent directoryUpdatedEvent) -
getApplication
public com.atlassian.crowd.model.application.Application getApplication(String name, ApplicationCache.Loader loader) throws com.atlassian.crowd.exception.ApplicationNotFoundException Description copied from interface:ApplicationCacheReturns the cached application with the given name, or null if the application isn't cached.- Specified by:
getApplicationin interfaceApplicationCache- Throws:
com.atlassian.crowd.exception.ApplicationNotFoundException- Since:
- 7.5
-
unwrapOrRethrow
Look throw the causal chain until we find an exception that is of the expected type, or just rethrow the full chain if not. -
removeApplication
Description copied from interface:ApplicationCacheRemoves the application with the given name from the cache. Does nothing if the name is not in the cache.- Specified by:
removeApplicationin interfaceApplicationCache
-
removeAll
public void removeAll()Description copied from interface:ApplicationCacheRemoves all entries from the cache. Can be used when the cache is stale, but it's not possible to determine which applications should be removed.- Specified by:
removeAllin interfaceApplicationCache
-