Package org.red5.cache.impl
Class NoCacheImpl
java.lang.Object
org.red5.cache.impl.NoCacheImpl
- All Implemented Interfaces:
ICacheStore,Aware,ApplicationContextAware
Provides an implementation of an object cache which actually does not provide a cache.
- Author:
- The Red5 Project, Paul Gregoire ([email protected])
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static ApplicationContextprivate static NoCacheImplprotected static org.slf4j.Logger -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoiddestroy()Allows for cleanup of a cache implementation.Return a cached object with the given name.static ApplicationContextGetter for property 'applicationContext'.static longGetter for property 'cacheHit'.static longGetter for property 'cacheMiss'.static NoCacheImplReturns the instance of this class.Return iterator over the names of all already loaded objects in the storage.Iterator<SoftReference<? extends ICacheable>>Return iterator over the already loaded objects in the storage.booleanOffer an object to the cache with an associated key.booleanvoidPuts an object in the cache with the associated key.booleanDelete the cached object with the given name.booleanremove(ICacheable obj) Delete the passed cached object.voidsetApplicationContext(ApplicationContext context) voidsetMaxEntries(int max) Sets the maximum number of entries for the cache.
-
Field Details
-
log
protected static org.slf4j.Logger log -
instance
-
applicationContext
-
-
Constructor Details
-
NoCacheImpl
private NoCacheImpl()Do not instantiate NoCacheImpl.
-
-
Method Details
-
getInstance
Returns the instance of this class.- Returns:
- class instance
-
setApplicationContext
- Specified by:
setApplicationContextin interfaceApplicationContextAware- Throws:
BeansException
-
getApplicationContext
Getter for property 'applicationContext'.- Returns:
- Value for property 'applicationContext'.
-
getObjectNames
Return iterator over the names of all already loaded objects in the storage.- Specified by:
getObjectNamesin interfaceICacheStore- Returns:
- iterator over all objects names
-
getObjects
Return iterator over the already loaded objects in the storage.- Specified by:
getObjectsin interfaceICacheStore- Returns:
- iterator over all objects
-
offer
-
offer
Offer an object to the cache with an associated key. If the named object exists in cache, it will not be accepted.- Specified by:
offerin interfaceICacheStore- Parameters:
name- string name representing the objectobj- cacheable object- Returns:
- true if accepted, false otherwise
-
put
Puts an object in the cache with the associated key.- Specified by:
putin interfaceICacheStore- Parameters:
name- string name representing the objectobj- cacheable object
-
get
Return a cached object with the given name.- Specified by:
getin interfaceICacheStore- Parameters:
name- the name of the object to return- Returns:
- the object or
nullif no such object was found
-
remove
Delete the passed cached object.- Specified by:
removein interfaceICacheStore- Parameters:
obj- the object to delete- Returns:
- true if was removed; false it wasn't in cache to begin with
-
remove
Delete the cached object with the given name.- Specified by:
removein interfaceICacheStore- Parameters:
name- the name of the object to delete- Returns:
- true if was removed; false it wasn't in cache to begin with
-
getCacheHit
public static long getCacheHit()Getter for property 'cacheHit'.- Returns:
- Value for property 'cacheHit'.
-
getCacheMiss
public static long getCacheMiss()Getter for property 'cacheMiss'.- Returns:
- Value for property 'cacheMiss'.
-
setMaxEntries
public void setMaxEntries(int max) Sets the maximum number of entries for the cache.- Specified by:
setMaxEntriesin interfaceICacheStore- Parameters:
max- upper-limit of the cache
-
destroy
public void destroy()Allows for cleanup of a cache implementation.- Specified by:
destroyin interfaceICacheStore
-