Package org.springframework.security.core.userdetails

# Class UserDetailsByNameServiceWrapper<T extends Authentication>

java.lang.Object
org.springframework.security.core.userdetails.UserDetailsByNameServiceWrapper<T>

All Implemented Interfaces:
  `org.springframework.beans.factory.InitializingBean`, `AuthenticationUserDetailsService<T>`

public class UserDetailsByNameServiceWrapper<T extends Authentication> extends Object implements AuthenticationUserDetailsService<T>, org.springframework.beans.factory.InitializingBean
This implementation for AuthenticationUserDetailsService wraps a regular Spring Security UserDetailsService implementation, to retrieve a UserDetails object based on the user name contained in an `Authentication` object.

Since:
  2.0

## Constructor Summary

Constructors
Constructor
Description
`UserDetailsByNameServiceWrapper()`
Constructs an empty wrapper for compatibility with Spring Security 2.0.x's method of using a setter.
`UserDetailsByNameServiceWrapper(UserDetailsService userDetailsService)`
Constructs a new wrapper using the supplied `UserDetailsService` as the service to delegate to.

## Method Summary

Modifier and Type
Method
Description
`void`
`afterPropertiesSet()`
Check whether all required properties have been set.
`UserDetails`
`loadUserDetails(T authentication)`
Get the UserDetails object from the wrapped UserDetailsService implementation
`void`
`setUserDetailsService(UserDetailsService aUserDetailsService)`
Set the wrapped UserDetailsService implementation

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### UserDetailsByNameServiceWrapper

public UserDetailsByNameServiceWrapper()
Constructs an empty wrapper for compatibility with Spring Security 2.0.x's method of using a setter.

### UserDetailsByNameServiceWrapper

public UserDetailsByNameServiceWrapper(UserDetailsService userDetailsService)
Constructs a new wrapper using the supplied `UserDetailsService` as the service to delegate to.

Parameters:
  `userDetailsService` - the UserDetailsService to delegate to.

## Method Details

### afterPropertiesSet

public void afterPropertiesSet()
Check whether all required properties have been set.

Specified by:
  `afterPropertiesSet` in interface `org.springframework.beans.factory.InitializingBean`
See Also:
  - `InitializingBean.afterPropertiesSet()`

### loadUserDetails

public UserDetails loadUserDetails(T authentication) throws UsernameNotFoundException
Get the UserDetails object from the wrapped UserDetailsService implementation

Specified by:
  `loadUserDetails` in interface `AuthenticationUserDetailsService<T extends Authentication>`
Parameters:
  `authentication` - The pre-authenticated authentication token
Returns:
  UserDetails for the given authentication token, never null.
Throws:
  `UsernameNotFoundException` - if no user details can be found for the given authentication token

### setUserDetailsService

public void setUserDetailsService(UserDetailsService aUserDetailsService)
Set the wrapped UserDetailsService implementation

Parameters:
  `aUserDetailsService` - The wrapped UserDetailsService to set