public final class DerivedResourceManagerImpl extends java.lang.Object implements DerivedResourceManager
| Modifier and Type | Class and Description |
|---|---|
static class |
DerivedResourceManagerImpl.CacheStats
Statistics about a cache
|
| Constructor and Description |
|---|
DerivedResourceManagerImpl(ConfigServiceImpl configService)
constructor
|
| Modifier and Type | Method and Description |
|---|---|
void |
createCache(CacheDescriptor desc)
Creates a new cache with the given description
|
<T> T |
get(Ref ref)
Returns the derived value associated with the given reference
|
<T> T |
get(Ref ref, boolean recompute) |
java.lang.String |
getCacheNameForDerivedType(java.lang.String typeId) |
DerivedResourceManagerImpl.CacheStats |
getCacheStats(java.lang.String cacheName) |
ConfigService |
getConfigService()
returns the associated config service
|
<T extends DerivedTypeDef> |
getDerivedTypeDef(java.lang.String typeId)
Returns the original DerivedTypeDef object that was registered with the given typeId.
|
DerivedCachesDocument |
getDiagnostics()
Returns the DFW diagnostics for all the derived caches maintained by the derived resource manager
|
DerivedCachesDocument |
getDiagnostics(java.lang.String typeId)
Returns the DFW diagnostics given a DerivedType ID
|
com.bea.wli.config.derivedcache.impl.EvictionNotifier |
getEvictionNotifier()
Returns the eviction notifier
|
com.bea.wli.config.derivedcache.impl.GarbageCollectionNotifier |
getGarbageCollectionNotifier()
Returns the garbage collection notifier
|
<T extends DerivedTypeDef> |
getResolvedDerivedTypeDef(java.lang.String typeId)
Returns the resolved derived type definition with the given id.
|
boolean |
isDerivedTypeId(java.lang.String typeId)
Returns true if the given type id represents a DerivedTypeDef
|
boolean |
isValidRef(Ref ref)
Returns true if the derived resource with the given reference valid, i.e., exists
|
void |
registerDerivedType(DerivedTypeDef derivedTypeDef, java.lang.String cacheName)
Registers a derived type and assigns it the cache with the given name.
|
<V> void |
registerHardDerivedType(DerivedTypeDef<V> derivedTypeDef)
Registers a derived type whose values will be stored using soft references.
|
<V> void |
registerLRUDerivedType(DerivedTypeDef<V> derivedTypeDef, int cacheSize, EvictionHandler<V> handler)
Registers a derived type whose values will be stored in an LRU cache and therefore can be evicted from the cache
|
<V> void |
registerMultiLevelDerivedType(DerivedTypeDef<V> derivedTypeDef, int cacheSize, GarbageCollectionHandler<V,?> handler)
Creates a multi level cache.
|
<V> void |
registerSoftDerivedType(DerivedTypeDef<V> derivedTypeDef, GarbageCollectionHandler<V,?> handler)
Registers a derived type whose values will be stored using soft references.
|
<V> void |
registerWeakDerivedType(DerivedTypeDef<V> derivedTypeDef, GarbageCollectionHandler<V,?> handler)
Registers a derived type whose values will be stored using weak references.
|
public DerivedResourceManagerImpl(ConfigServiceImpl configService)
public ConfigService getConfigService()
public com.bea.wli.config.derivedcache.impl.EvictionNotifier getEvictionNotifier()
public com.bea.wli.config.derivedcache.impl.GarbageCollectionNotifier getGarbageCollectionNotifier()
public void createCache(CacheDescriptor desc)
public void registerDerivedType(DerivedTypeDef derivedTypeDef, java.lang.String cacheName)
public <V> void registerHardDerivedType(DerivedTypeDef<V> derivedTypeDef)
registerHardDerivedType in interface DerivedResourceManagerV - the type of the derived valuederivedTypeDef - the derived type.public <V> void registerSoftDerivedType(DerivedTypeDef<V> derivedTypeDef, GarbageCollectionHandler<V,?> handler)
registerSoftDerivedType in interface DerivedResourceManagerV - the type of the derived valuederivedTypeDef - the derived type.handler - handler to be notified after a derived value has been garbage collected. Can be null.public <V> void registerWeakDerivedType(DerivedTypeDef<V> derivedTypeDef, GarbageCollectionHandler<V,?> handler)
registerWeakDerivedType in interface DerivedResourceManagerV - the type of the derived valuederivedTypeDef - the derived type.handler - handler to be notified after a derived value has been garbage collected. Can be null.public <V> void registerLRUDerivedType(DerivedTypeDef<V> derivedTypeDef, int cacheSize, EvictionHandler<V> handler)
registerLRUDerivedType in interface DerivedResourceManagerderivedTypeDef - the derived typecacheSize - the size of the LRU cachehandler - the handler that will be called some time after a derived value has been evicted from the cache. Can be null.public <V> void registerMultiLevelDerivedType(DerivedTypeDef<V> derivedTypeDef, int cacheSize, GarbageCollectionHandler<V,?> handler)
registerMultiLevelDerivedType in interface DerivedResourceManagerderivedTypeDef - the derived typecacheSize - the size of the LRU cachehandler - handler to be notified after a derived value has been garbage collected. Can be null.public <T extends DerivedTypeDef> T getDerivedTypeDef(java.lang.String typeId)
getDerivedTypeDef in interface DerivedResourceManagerpublic <T extends DerivedTypeDef> T getResolvedDerivedTypeDef(java.lang.String typeId)
public boolean isDerivedTypeId(java.lang.String typeId)
isDerivedTypeId in interface DerivedResourceManagerpublic boolean isValidRef(Ref ref)
isValidRef in interface DerivedResourceManagerref - reference to the derived resourcepublic <T> T get(Ref ref) throws NotFoundException
get in interface DerivedResourceManagerref - reference to the derived resourceNotFoundException - thrown if the reference does not exist or the derived object could not be computed.public <T> T get(Ref ref, boolean recompute) throws NotFoundException
get in interface DerivedResourceManagerNotFoundExceptionpublic DerivedCachesDocument getDiagnostics(java.lang.String typeId)
getDiagnostics in interface DerivedResourceManagertypeId - the derived type idpublic DerivedCachesDocument getDiagnostics()
getDiagnostics in interface DerivedResourceManagerpublic DerivedResourceManagerImpl.CacheStats getCacheStats(java.lang.String cacheName)
public java.lang.String getCacheNameForDerivedType(java.lang.String typeId)