Class CacheKeyGenerator

java.lang.Object
de.hybris.platform.webservicescommons.cache.CacheKeyGenerator
All Implemented Interfaces:
org.springframework.cache.interceptor.KeyGenerator
Direct Known Subclasses:
CommerceCacheKeyGenerator

public class CacheKeyGenerator extends Object implements org.springframework.cache.interceptor.KeyGenerator
Cache key generator
Spring Bean ID:
wsCacheKeyGenerator
  • Constructor Details

    • CacheKeyGenerator

      public CacheKeyGenerator()
  • Method Details

    • generate

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

      public Object generate(boolean addUserToKey, boolean addCurrencyToKey, 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 Object generateKey(boolean addUserToKey, boolean addCurrencyToKey, 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(List<Object> key)
    • addCurrency

      protected void addCurrency(boolean shouldBeAdded, List<Object> key)
    • addUser

      protected void addUser(boolean shouldBeAdded, List<Object> key)
    • addParams

      protected void addParams(List<Object> key, Object... params)
    • getCommonI18NService

      public CommonI18NService getCommonI18NService()
    • setCommonI18NService

      public void setCommonI18NService(CommonI18NService commonI18NService)
    • getUserService

      public UserService getUserService()
    • setUserService

      public void setUserService(UserService userService)