Class CachingPrincipalAttributesRepository
- java.lang.Object
-
- org.apereo.cas.authentication.principal.cache.AbstractPrincipalAttributesRepository
-
- org.apereo.cas.authentication.principal.cache.CachingPrincipalAttributesRepository
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.AutoCloseable
,org.apereo.cas.authentication.principal.RegisteredServicePrincipalAttributesRepository
public class CachingPrincipalAttributesRepository extends AbstractPrincipalAttributesRepository
Wrapper around an attribute repository where attributes cached for a configurable period based on google guava's caching library.- Since:
- 4.2
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected long
expiration
The expiration time.protected java.lang.String
timeUnit
Expiration time unit.
-
Constructor Summary
Constructors Constructor Description CachingPrincipalAttributesRepository(java.lang.String timeUnit, long expiryDuration)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.util.Map<java.lang.String,java.util.List<java.lang.Object>>
fetchCachedPrincipalAttributes(org.apereo.cas.authentication.principal.Principal principal, org.apereo.cas.services.RegisteredService registeredService)
Gets cached principal attributes.java.util.Map<java.lang.String,java.util.List<java.lang.Object>>
getAttributes(org.apereo.cas.authentication.principal.Principal principal, org.apereo.cas.services.RegisteredService registeredService)
void
update(java.lang.String id, java.util.Map<java.lang.String,java.util.List<java.lang.Object>> attributes, org.apereo.cas.services.RegisteredService registeredService)
-
Methods inherited from class org.apereo.cas.authentication.principal.cache.AbstractPrincipalAttributesRepository
areAttributeRepositoryIdsDefined, close, convertAttributesToPrincipalAttributesAndCache, convertPersonAttributesToPrincipalAttributes, convertPrincipalAttributesToPersonAttributes, determineMergingStrategy, getAttributeRepository, getPrincipalAttributes, retrievePersonAttributesFromAttributeRepository
-
-
-
-
Method Detail
-
getAttributes
public java.util.Map<java.lang.String,java.util.List<java.lang.Object>> getAttributes(org.apereo.cas.authentication.principal.Principal principal, org.apereo.cas.services.RegisteredService registeredService)
- Specified by:
getAttributes
in interfaceorg.apereo.cas.authentication.principal.RegisteredServicePrincipalAttributesRepository
- Specified by:
getAttributes
in classAbstractPrincipalAttributesRepository
-
update
public void update(java.lang.String id, java.util.Map<java.lang.String,java.util.List<java.lang.Object>> attributes, org.apereo.cas.services.RegisteredService registeredService)
-
fetchCachedPrincipalAttributes
protected java.util.Map<java.lang.String,java.util.List<java.lang.Object>> fetchCachedPrincipalAttributes(org.apereo.cas.authentication.principal.Principal principal, org.apereo.cas.services.RegisteredService registeredService)
Gets cached principal attributes.- Parameters:
principal
- the principalregisteredService
- the registered service- Returns:
- the cached principal attributes
-
-