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 DerivedResourceManager
V
- the type of the derived valuederivedTypeDef
- the derived type.public <V> void registerSoftDerivedType(DerivedTypeDef<V> derivedTypeDef, GarbageCollectionHandler<V,?> handler)
registerSoftDerivedType
in interface DerivedResourceManager
V
- 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 DerivedResourceManager
V
- 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 DerivedResourceManager
derivedTypeDef
- 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 DerivedResourceManager
derivedTypeDef
- 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 DerivedResourceManager
public <T extends DerivedTypeDef> T getResolvedDerivedTypeDef(java.lang.String typeId)
public boolean isDerivedTypeId(java.lang.String typeId)
isDerivedTypeId
in interface DerivedResourceManager
public boolean isValidRef(Ref ref)
isValidRef
in interface DerivedResourceManager
ref
- reference to the derived resourcepublic <T> T get(Ref ref) throws NotFoundException
get
in interface DerivedResourceManager
ref
- 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 DerivedResourceManager
NotFoundException
public DerivedCachesDocument getDiagnostics(java.lang.String typeId)
getDiagnostics
in interface DerivedResourceManager
typeId
- the derived type idpublic DerivedCachesDocument getDiagnostics()
getDiagnostics
in interface DerivedResourceManager
public DerivedResourceManagerImpl.CacheStats getCacheStats(java.lang.String cacheName)
public java.lang.String getCacheNameForDerivedType(java.lang.String typeId)