Class CacheKeyGenerator

  • All Implemented Interfaces:
    org.springframework.cache.interceptor.KeyGenerator
    Direct Known Subclasses:
    CommerceCacheKeyGenerator

    public class CacheKeyGenerator
    extends java.lang.Object
    implements org.springframework.cache.interceptor.KeyGenerator
    Cache key generator
    Spring Bean ID:
    wsCacheKeyGenerator
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void addCurrency​(boolean shouldBeAdded, java.util.List<java.lang.Object> key)  
      protected void addLanguage​(java.util.List<java.lang.Object> key)  
      protected void addParams​(java.util.List<java.lang.Object> key, java.lang.Object... params)  
      protected void addUser​(boolean shouldBeAdded, java.util.List<java.lang.Object> key)  
      java.lang.Object generate​(boolean addUserToKey, boolean addCurrencyToKey, java.lang.Object... params)
      Generates key based on given parameters and current session attributes (language, user, currency)
      java.lang.Object generate​(java.lang.Object target, java.lang.reflect.Method method, java.lang.Object... params)  
      static java.lang.Object generateKey​(boolean addUserToKey, boolean addCurrencyToKey, java.lang.Object... params)
      Generates key based on given parameters and current session attributes (language, user, currency).
      It uses Registry.getApplicationContext().getBean to have access to instance of cacheKeyGenerator.
      This static method was added because @Cacheable annotation doesn't support using bean in SPeL expression for key : https://jira.spring.io/browse/SPR-9578
      CommonI18NService getCommonI18NService()  
      UserService getUserService()  
      void setCommonI18NService​(CommonI18NService commonI18NService)  
      void setUserService​(UserService userService)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • CacheKeyGenerator

        public CacheKeyGenerator()
    • Method Detail

      • generate

        public java.lang.Object generate​(java.lang.Object target,
                                         java.lang.reflect.Method method,
                                         java.lang.Object... params)
        Specified by:
        generate in interface org.springframework.cache.interceptor.KeyGenerator
      • generate

        public java.lang.Object generate​(boolean addUserToKey,
                                         boolean addCurrencyToKey,
                                         java.lang.Object... params)
        Generates key based on given parameters and current session attributes (language, user, currency)
        Parameters:
        addUserToKey - Define if current user uid should be added to key
        addCurrencyToKey - Define if current currency isocode should be added to key
        params - Values which should be added to key
        Returns:
        generated key
      • generateKey

        public static java.lang.Object generateKey​(boolean addUserToKey,
                                                   boolean addCurrencyToKey,
                                                   java.lang.Object... params)
        Generates key based on given parameters and current session attributes (language, user, currency).
        It uses Registry.getApplicationContext().getBean to have access to instance of cacheKeyGenerator.
        This static method was added because @Cacheable annotation doesn't support using bean in SPeL expression for key : https://jira.spring.io/browse/SPR-9578
        Parameters:
        addUserToKey - Define if current user uid should be added to key
        addCurrencyToKey - Define if current currency isocode should be added to key
        params - Values which should be added to key
        Returns:
        generated key
      • addLanguage

        protected void addLanguage​(java.util.List<java.lang.Object> key)
      • addCurrency

        protected void addCurrency​(boolean shouldBeAdded,
                                   java.util.List<java.lang.Object> key)
      • addUser

        protected void addUser​(boolean shouldBeAdded,
                               java.util.List<java.lang.Object> key)
      • addParams

        protected void addParams​(java.util.List<java.lang.Object> key,
                                 java.lang.Object... params)
      • setCommonI18NService

        public void setCommonI18NService​(CommonI18NService commonI18NService)
      • setUserService

        public void setUserService​(UserService userService)