Class EhcacheCachingManager

java.lang.Object
org.apache.wiki.cache.EhcacheCachingManager
All Implemented Interfaces:
Initializable, CachingManager

public class EhcacheCachingManager extends Object implements CachingManager, Initializable
Ehcache-based CachingManager.
  • Constructor Details

  • Method Details

    • shutdown

      public void shutdown()
      Shuts down the underlying cache manager
      Specified by:
      shutdown in interface CachingManager
    • initialize

      public void initialize(Engine engine, Properties props) throws WikiException

      Initializes this Engine component. Note that the engine is not fully initialized at this point, so don't do anything fancy here - use lazy init, if you have to.
       

      Specified by:
      initialize in interface Initializable
      Parameters:
      engine - Engine performing the initialization.
      props - Properties for setup.
      Throws:
      WikiException - if an exception occurs while initializing the component.
    • enabled

      public boolean enabled(String cacheName)
      Checks if the requested cache is enabled or not.
      Specified by:
      enabled in interface CachingManager
      Parameters:
      cacheName - The cache to be queried.
      Returns:
      true if the cache is enabled, false otherwise.
    • info

      public CacheInfo info(String cacheName)
      Retrieves cache usage information.
      Specified by:
      info in interface CachingManager
      Parameters:
      cacheName - The cache to be queried.
      Returns:
      cache usage information, or null if the requested cache is not enabled.
    • keys

      public List<String> keys(String cacheName)
      Returns the list of keys from elements present in a cache.
      Specified by:
      keys in interface CachingManager
      Parameters:
      cacheName - The cache to be queried.
      Returns:
      list of keys from elements present in a cache.
    • get

      public <T, E extends Exception> T get(String cacheName, Serializable key, CheckedSupplier<T,E> supplier) throws E
      Returns an item from a cache. If it is not found on the cache, try to retrieve from the provided supplier. If found there, put the value in the cache, and return it. Otherwise, return null.
      Specified by:
      get in interface CachingManager
      Parameters:
      cacheName - The cache in which the item lives.
      key - item's identifier.
      supplier - if the element is not cached, try to retrieve from the cached system.
      Returns:
      The requested item or null if either the cache is not enabled or the item is not present on the cache / cached service.
      Throws:
      E - the supplier may throw a checked exception, which is propagated upwards.
    • put

      public void put(String cacheName, Serializable key, Object val)
      Puts an item on a cache.
      Specified by:
      put in interface CachingManager
      Parameters:
      cacheName - The cache in which the item will live.
      key - item's identifier.
      val - item to insert in the cache.
    • remove

      public void remove(String cacheName, Serializable key)
      Removes an item from a cache.
      Specified by:
      remove in interface CachingManager
      Parameters:
      cacheName - The cache in which the item to be removed lives.
      key - item's identifier.
    • registerListener

      public boolean registerListener(String cacheName, String listener, Object... args)
      Register a listener associated with the given cache and type of listener.
      Specified by:
      registerListener in interface CachingManager
      Parameters:
      cacheName - the name of the cache where the listener will be registered.
      listener - the kind of listener to be registered
      args - arguments needed to instantiate and register the listener.
      Returns:
      true if the listener is created & registered, false otherwise.