Interface ICacheManager

    • Method Detail

      • cacheStop

        void cacheStop()
        Stops the cache by calling the cacheProvider stop method. This method should be called either when the VM goes away, or when the web context goes away. This performs required cleanup in the underlying cache implementation. In some cases, failure to stop the cache will cause cached items saved to disk to be un-recoverable.
      • killSessionCache

        void killSessionCache​(IPentahoSession session)
        Removes any session-based data for the specified IPentahoSession.
        Parameters:
        session - The session whose objects needs to be removed from the cache.
      • killSessionCaches

        void killSessionCaches()
        Removes all cached items that are session-based.
      • putInSessionCache

        void putInSessionCache​(IPentahoSession session,
                               String key,
                               Object value)
        Puts an object in the session-specific cache. The session specified must have a valid session id.

        Take special care that, in a TestCase, you don't have multiple StandaloneSession objects with the same session key. Consider using UUIDUtil to generate a unique sessionId for each standalone session.

        Parameters:
        session - The users IPentahoSession
        key - The key by which you want to retrieve the data back out
        value - The data item to place into the cache
      • clearCache

        void clearCache()
        Entirely clears the cache.
      • removeFromSessionCache

        void removeFromSessionCache​(IPentahoSession session,
                                    String key)
        Removes a data item from the user session specific cache
        Parameters:
        session - The users IPentahoSession
        key - The key that maps to the value needing removed
      • getFromSessionCache

        Object getFromSessionCache​(IPentahoSession session,
                                   String key)
        Gets an object from the user session specific cache. If the object doesn't exist in the cache, null is returned.
        Parameters:
        session - The users IPentahoSession
        key - The key that maps to the data to get from the cache
        Returns:
        Object that was stored in the cache
      • cacheEnabled

        boolean cacheEnabled()
        Returns the enablement state of the cache.
        Returns:
        true if the cache has been initialized and is ready for use.
      • putInGlobalCache

        void putInGlobalCache​(Object key,
                              Object value)
        Puts an object directly into the cache without translating the passed in key.

        Important note - most cache implementations require both the key and the value to be serializable.

        Parameters:
        key - Object by which the data is indexed
        value - The data to store in the cache.
      • getFromGlobalCache

        Object getFromGlobalCache​(Object key)
        Gets an object from the cache without translating the passed in key.
        Parameters:
        key - The key that the data object was stored with
        Returns:
        The corresponding data object
      • removeFromGlobalCache

        void removeFromGlobalCache​(Object key)
        Removes an object from the cache
        Parameters:
        key - The key that the data object was stored with
      • cacheEnabled

        boolean cacheEnabled​(String region)
        Returns the enablement state of the cache.
        Returns:
        true if the cache has been initialized and is ready for use.
      • addCacheRegion

        boolean addCacheRegion​(String region)
      • addCacheRegion

        boolean addCacheRegion​(String region,
                               Properties cacheProperties)
      • clearRegionCache

        void clearRegionCache​(String region)
        Clears any data for the specified for a specific region(For example region could be session, global etc)
        Parameters:
        region - The region whose objects needs to be removed from the cache.
      • removeRegionCache

        void removeRegionCache​(String region)
        Clears any data for the specified for a specific region(For example region could be session, global etc) and removed the region from the map
        Parameters:
        region - The region whose objects needs to be removed from the cache.
      • putInRegionCache

        void putInRegionCache​(String reqion,
                              Object key,
                              Object value)
        Puts an object directly into the cache of a specific region

        Important note - most cache implementations require both the key and the value to be serializable.

        Parameters:
        region - the region where the object will be put in the cache
        key - Object by which the data is indexed
        value - The data to store in the cache.
      • getFromRegionCache

        Object getFromRegionCache​(String region,
                                  Object key)
        Gets an object from the cache within a specific region
        Parameters:
        region - the region where the object was put in the cache
        key - The key that the data object was stored with
        Returns:
        The corresponding data object
      • getAllEntriesFromRegionCache

        Set getAllEntriesFromRegionCache​(String region)
        Get a Set of Map.Entry objects from the cache within a specific region
        Parameters:
        region - the region where the object was put in the cache
        Returns:
        The corresponding list of objects
      • getAllKeysFromRegionCache

        Set getAllKeysFromRegionCache​(String region)
        Get a Set of Key objects from the cache within a specific region
        Parameters:
        region - the region where the object was put in the cache
        Returns:
        The corresponding list of objects
      • getAllValuesFromRegionCache

        List getAllValuesFromRegionCache​(String region)
        Get a list of values from the cache within a specific region
        Parameters:
        region - the region where the object was put in the cache
        Returns:
        The corresponding list of objects
      • removeFromRegionCache

        void removeFromRegionCache​(String region,
                                   Object key)
        Removes an object from the cache within a specific region
        Parameters:
        region - the region where the object was put in the cache
        key - The key that the data object was stored with
      • getElementCountInRegionCache

        long getElementCountInRegionCache​(String region)
        Counts the items in the region cache
        Parameters:
        region -
        Returns:
        Number of elements in the region cache
      • getElementCountInSessionCache

        long getElementCountInSessionCache()
        Counts the items in the session cache
        Parameters:
        region -
        Returns:
        Number of elements in the session cache
      • getElementCountInGlobalCache

        long getElementCountInGlobalCache()
        Counts the items in the global cache
        Parameters:
        region -
        Returns:
        Number of elements in the global cache