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 java.lang.Object implements org.springframework.cache.interceptor.KeyGeneratorCache key generator- Spring Bean ID:
- wsCacheKeyGenerator
-
-
Constructor Summary
Constructors Constructor Description CacheKeyGenerator()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidaddCurrency(boolean shouldBeAdded, java.util.List<java.lang.Object> key)protected voidaddLanguage(java.util.List<java.lang.Object> key)protected voidaddParams(java.util.List<java.lang.Object> key, java.lang.Object... params)protected voidaddUser(boolean shouldBeAdded, java.util.List<java.lang.Object> key)java.lang.Objectgenerate(boolean addUserToKey, boolean addCurrencyToKey, java.lang.Object... params)Generates key based on given parameters and current session attributes (language, user, currency)java.lang.Objectgenerate(java.lang.Object target, java.lang.reflect.Method method, java.lang.Object... params)static java.lang.ObjectgenerateKey(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-9578CommonI18NServicegetCommonI18NService()UserServicegetUserService()voidsetCommonI18NService(CommonI18NService commonI18NService)voidsetUserService(UserService userService)
-
-
-
Method Detail
-
generate
public java.lang.Object generate(java.lang.Object target, java.lang.reflect.Method method, java.lang.Object... params)- Specified by:
generatein interfaceorg.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 keyaddCurrencyToKey- Define if current currency isocode should be added to keyparams- 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 keyaddCurrencyToKey- Define if current currency isocode should be added to keyparams- 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)
-
getCommonI18NService
public CommonI18NService getCommonI18NService()
-
setCommonI18NService
public void setCommonI18NService(CommonI18NService commonI18NService)
-
getUserService
public UserService getUserService()
-
setUserService
public void setUserService(UserService userService)
-
-