Class NoCacheImpl

java.lang.Object
org.red5.cache.impl.NoCacheImpl
All Implemented Interfaces:
ICacheStore, Aware, ApplicationContextAware

public class NoCacheImpl extends Object implements ICacheStore, ApplicationContextAware
Provides an implementation of an object cache which actually does not provide a cache.
Author:
The Red5 Project, Paul Gregoire (mondain@gmail.com)
  • Field Details

    • log

      protected static org.slf4j.Logger log
    • instance

      private static NoCacheImpl instance
    • applicationContext

      private static ApplicationContext applicationContext
  • Constructor Details

    • NoCacheImpl

      private NoCacheImpl()
      Do not instantiate NoCacheImpl.
  • Method Details

    • getInstance

      public static NoCacheImpl getInstance()
      Returns the instance of this class.
      Returns:
      class instance
    • setApplicationContext

      public void setApplicationContext(ApplicationContext context) throws BeansException
      Specified by:
      setApplicationContext in interface ApplicationContextAware
      Throws:
      BeansException
    • getApplicationContext

      public static ApplicationContext getApplicationContext()
      Getter for property 'applicationContext'.
      Returns:
      Value for property 'applicationContext'.
    • getObjectNames

      public Iterator<String> getObjectNames()
      Return iterator over the names of all already loaded objects in the storage.
      Specified by:
      getObjectNames in interface ICacheStore
      Returns:
      iterator over all objects names
    • getObjects

      public Iterator<SoftReference<? extends ICacheable>> getObjects()
      Return iterator over the already loaded objects in the storage.
      Specified by:
      getObjects in interface ICacheStore
      Returns:
      iterator over all objects
    • offer

      public boolean offer(String key, org.apache.mina.core.buffer.IoBuffer obj)
    • offer

      public boolean offer(String name, Object obj)
      Offer an object to the cache with an associated key. If the named object exists in cache, it will not be accepted.
      Specified by:
      offer in interface ICacheStore
      Parameters:
      name - string name representing the object
      obj - cacheable object
      Returns:
      true if accepted, false otherwise
    • put

      public void put(String name, Object obj)
      Puts an object in the cache with the associated key.
      Specified by:
      put in interface ICacheStore
      Parameters:
      name - string name representing the object
      obj - cacheable object
    • get

      public ICacheable get(String name)
      Return a cached object with the given name.
      Specified by:
      get in interface ICacheStore
      Parameters:
      name - the name of the object to return
      Returns:
      the object or null if no such object was found
    • remove

      public boolean remove(ICacheable obj)
      Delete the passed cached object.
      Specified by:
      remove in interface ICacheStore
      Parameters:
      obj - the object to delete
      Returns:
      true if was removed; false it wasn't in cache to begin with
    • remove

      public boolean remove(String name)
      Delete the cached object with the given name.
      Specified by:
      remove in interface ICacheStore
      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:
      setMaxEntries in interface ICacheStore
      Parameters:
      max - upper-limit of the cache
    • destroy

      public void destroy()
      Allows for cleanup of a cache implementation.
      Specified by:
      destroy in interface ICacheStore