Spring Security Framework

org.springframework.security.providers.dao
Interface UserCache

All Known Implementing Classes:
EhCacheBasedUserCache, NullUserCache

public interface UserCache

Provides a cache of User objects.

Implementations should provide appropriate methods to set their cache parameters (eg time-to-live) and/or force removal of entities before their normal expiration. These are not part of the UserCache interface contract because they vary depending on the type of caching system used (eg in-memory vs disk vs cluster vs hybrid).

Version:
$Id$
Author:
Ben Alex

Method Summary
 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.
 

Method Detail

getUserFromCache

UserDetails getUserFromCache(String username)
Obtains a UserDetails from the cache.

Parameters:
username - the User.getUsername() used to place the user in the cache
Returns:
the populated UserDetails or null if the user could not be found or if the cache entry has expired

putUserInCache

void putUserInCache(UserDetails user)
Places a UserDetails in the cache. The username is the key used to subsequently retrieve the UserDetails.

Parameters:
user - the fully populated UserDetails to place in the cache

removeUserFromCache

void removeUserFromCache(String username)
Removes the specified user from the cache. The 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.

Parameters:
username - to be evicted from the cache

Spring Security Framework

Copyright © 2004-2010 SpringSource, Inc. All Rights Reserved.