public class SpringCacheBasedUserCache extends Object implements UserCache
UserDetails
instances in a Spring defined Cache
.Constructor and Description |
---|
SpringCacheBasedUserCache(Cache cache) |
Modifier and Type | Method and Description |
---|---|
UserDetails |
getUserFromCache(String username)
Obtains a
UserDetails from the cache. |
void |
putUserInCache(UserDetails user)
Places a
UserDetails in the cache. |
void |
removeUserFromCache(String username)
Removes the specified user from the cache.
|
void |
removeUserFromCache(UserDetails user) |
public UserDetails getUserFromCache(String username)
UserCache
UserDetails
from the cache.getUserFromCache
in interface UserCache
username
- the User.getUsername()
used to place the user in the cacheUserDetails
or null
if the user could not be found or if the
cache entry has expiredpublic void putUserInCache(UserDetails user)
UserCache
UserDetails
in the cache. The username
is the key used to subsequently
retrieve the UserDetails
.putUserInCache
in interface UserCache
user
- the fully populated UserDetails
to place in the cachepublic void removeUserFromCache(UserDetails user)
public void removeUserFromCache(String username)
UserCache
username
is the key used to remove the user.
If the user is not found, the method should simply return (not thrown an exception).
Some cache implementations may not support eviction from the cache, in which case they should provide appropriate behaviour to alter the user in either its documentation, via an exception, or through a log message.
removeUserFromCache
in interface UserCache
username
- to be evicted from the cache