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 Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaddCurrency(boolean shouldBeAdded, List<Object> key) protected voidaddLanguage(List<Object> key) protected voidprotected voidGenerates key based on given parameters and current session attributes (language, user, currency)static ObjectgenerateKey(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-9578voidsetCommonI18NService(CommonI18NService commonI18NService) voidsetUserService(UserService userService)
-
Constructor Details
-
CacheKeyGenerator
public CacheKeyGenerator()
-
-
Method Details
-
generate
- Specified by:
generatein interfaceorg.springframework.cache.interceptor.KeyGenerator
-
generate
Generates key based on given parameters and current session attributes (language, user, currency)- Parameters:
addUserToKey- Define if current user uid should be added to keyaddCurrencyToKey- Define if current currency isocode should be added to keyparams- Values which should be added to key- Returns:
- generated key
-
generateKey
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 keyaddCurrencyToKey- Define if current currency isocode should be added to keyparams- Values which should be added to key- Returns:
- generated key
-
addLanguage
-
addCurrency
-
addUser
-
addParams
-
getCommonI18NService
-
setCommonI18NService
-
getUserService
-
setUserService
-