Class CommerceCacheKeyGenerator

  • All Implemented Interfaces:
    org.springframework.cache.interceptor.KeyGenerator

    public class CommerceCacheKeyGenerator
    extends CacheKeyGenerator
    Cache key generator
    Spring Bean ID:
    commerceCacheKeyGenerator
    • Constructor Detail

      • CommerceCacheKeyGenerator

        public CommerceCacheKeyGenerator()
    • Method Detail

      • generate

        public java.lang.Object generate​(boolean addUserToKey,
                                         boolean addCurrencyToKey,
                                         java.lang.Object... params)
        Generates key based on given parameters and current session attributes ( base site, language, user, currency)
        Overrides:
        generate in class CacheKeyGenerator
        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 ( base site, language, user, currency).
        It uses Registry.getApplicationContext().getBean to have access to instance of commerceCacheKeyGenerator.
        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
      • addCurrentSite

        protected void addCurrentSite​(java.util.List<java.lang.Object> key)
      • setBaseSiteService

        public void setBaseSiteService​(BaseSiteService baseSiteService)