public class SessionAttributesHandler extends Object
@SessionAttributes. Actual storage is
 delegated to a SessionAttributeStore instance.
 When a controller annotated with @SessionAttributes adds
 attributes to its model, those attributes are checked against names and
 types specified via @SessionAttributes. Matching model attributes
 are saved in the HTTP session and remain there until the controller calls
 SessionStatus.setComplete().
| Constructor and Description | 
|---|
SessionAttributesHandler(Class<?> handlerType,
                        SessionAttributeStore sessionAttributeStore)
Create a new session attributes handler. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
void | 
cleanupAttributes(WebRequest request)
Remove "known" attributes from the session, i.e. 
 | 
boolean | 
hasSessionAttributes()
Whether the controller represented by this instance has declared any
 session attributes through an  
SessionAttributes annotation. | 
boolean | 
isHandlerSessionAttribute(String attributeName,
                         Class<?> attributeType)
Whether the attribute name or type match the names and types specified
 via  
@SessionAttributes on the underlying controller. | 
Map<String,Object> | 
retrieveAttributes(WebRequest request)
Retrieve "known" attributes from the session, i.e. 
 | 
void | 
storeAttributes(WebRequest request,
               Map<String,?> attributes)
Store a subset of the given attributes in the session. 
 | 
public SessionAttributesHandler(Class<?> handlerType, SessionAttributeStore sessionAttributeStore)
@SessionAttributes annotation, if present,
 on the given type.handlerType - the controller typesessionAttributeStore - used for session accesspublic boolean hasSessionAttributes()
SessionAttributes annotation.public boolean isHandlerSessionAttribute(String attributeName, Class<?> attributeType)
@SessionAttributes on the underlying controller.
 Attributes successfully resolved through this method are "remembered"
 and subsequently used in retrieveAttributes(WebRequest) and
 cleanupAttributes(WebRequest).
attributeName - the attribute name to checkattributeType - the type for the attributepublic void storeAttributes(WebRequest request, Map<String,?> attributes)
@SessionAttributes are ignored.request - the current requestattributes - candidate attributes for session storagepublic Map<String,Object> retrieveAttributes(WebRequest request)
@SessionAttributes or attributes previously stored
 in the model that matched by type.request - the current requestpublic void cleanupAttributes(WebRequest request)
@SessionAttributes or attributes previously stored
 in the model that matched by type.request - the current request