public class RedirectAttributesModelMap extends ModelMap implements RedirectAttributes
ModelMap
implementation of RedirectAttributes
that formats
values as Strings using a DataBinder
. Also provides a place to store
flash attributes so they can survive a redirect without the need to be
embedded in the redirect URL.Modifier and Type | Field and Description |
---|---|
private DataBinder |
dataBinder |
private ModelMap |
flashAttributes |
Constructor and Description |
---|
RedirectAttributesModelMap()
Default constructor without a DataBinder.
|
RedirectAttributesModelMap(DataBinder dataBinder)
Class constructor.
|
Modifier and Type | Method and Description |
---|---|
RedirectAttributesModelMap |
addAllAttributes(java.util.Collection<?> attributeValues)
Copy all attributes in the supplied
Collection into this
Map , using attribute name generation for each element. |
RedirectAttributesModelMap |
addAllAttributes(java.util.Map<java.lang.String,?> attributes)
Copy all attributes in the supplied
Map into this Map . |
RedirectAttributesModelMap |
addAttribute(java.lang.Object attributeValue)
Add the supplied attribute to this
Map using a
generated name . |
RedirectAttributesModelMap |
addAttribute(java.lang.String attributeName,
java.lang.Object attributeValue)
Add the supplied attribute under the supplied name.
|
RedirectAttributes |
addFlashAttribute(java.lang.Object attributeValue)
Add the given flash storage using a
generated name . |
RedirectAttributes |
addFlashAttribute(java.lang.String attributeName,
java.lang.Object attributeValue)
Add the given flash attribute.
|
java.util.Map<java.lang.String,java.lang.Object> |
asMap()
Return the current set of model attributes as a Map.
|
private java.lang.String |
formatValue(java.lang.Object value) |
java.util.Map<java.lang.String,?> |
getFlashAttributes()
Return the attributes candidate for flash storage or an empty Map.
|
RedirectAttributesModelMap |
mergeAttributes(java.util.Map<java.lang.String,?> attributes)
Copy all attributes in the supplied
Map into this Map ,
with existing objects of the same name taking precedence (i.e. |
java.lang.Object |
put(java.lang.String key,
java.lang.Object value) |
void |
putAll(java.util.Map<? extends java.lang.String,? extends java.lang.Object> map) |
containsAttribute
clear, containsValue, entrySet, forEach, get, getOrDefault, keySet, removeEldestEntry, replaceAll, values
clone, compute, computeIfAbsent, computeIfPresent, containsKey, isEmpty, merge, putIfAbsent, remove, remove, replace, replace, size
finalize, getClass, notify, notifyAll, wait, wait, wait
containsAttribute
private final DataBinder dataBinder
private final ModelMap flashAttributes
public RedirectAttributesModelMap(DataBinder dataBinder)
dataBinder
- used to format attribute values as Strings.public RedirectAttributesModelMap()
AbstractMap.toString()
.public java.util.Map<java.lang.String,?> getFlashAttributes()
getFlashAttributes
in interface RedirectAttributes
public RedirectAttributesModelMap addAttribute(java.lang.String attributeName, java.lang.Object attributeValue)
Formats the attribute value as a String before adding it.
addAttribute
in interface Model
addAttribute
in interface RedirectAttributes
addAttribute
in class ModelMap
attributeName
- the name of the model attribute (never null
)attributeValue
- the model attribute value (can be null
)private java.lang.String formatValue(java.lang.Object value)
public RedirectAttributesModelMap addAttribute(java.lang.Object attributeValue)
Map
using a
generated name
.
Collections
are not added to
the model when using this method because we cannot correctly determine
the true convention name. View code should check for null
rather
than for empty collections as is already done by JSTL tags.
Formats the attribute value as a String before adding it.
addAttribute
in interface Model
addAttribute
in interface RedirectAttributes
addAttribute
in class ModelMap
attributeValue
- the model attribute value (never null
)public RedirectAttributesModelMap addAllAttributes(java.util.Collection<?> attributeValues)
Collection
into this
Map
, using attribute name generation for each element.
Each attribute value is formatted as a String before being added.
addAllAttributes
in interface Model
addAllAttributes
in interface RedirectAttributes
addAllAttributes
in class ModelMap
ModelMap.addAttribute(Object)
public RedirectAttributesModelMap addAllAttributes(java.util.Map<java.lang.String,?> attributes)
Map
into this Map
.
Each attribute value is formatted as a String before being added.
addAllAttributes
in interface Model
addAllAttributes
in class ModelMap
ModelMap.addAttribute(String, Object)
public RedirectAttributesModelMap mergeAttributes(java.util.Map<java.lang.String,?> attributes)
Map
into this Map
,
with existing objects of the same name taking precedence (i.e. not getting
replaced).
Each attribute value is formatted as a String before being merged.
mergeAttributes
in interface Model
mergeAttributes
in interface RedirectAttributes
mergeAttributes
in class ModelMap
public java.util.Map<java.lang.String,java.lang.Object> asMap()
Model
public java.lang.Object put(java.lang.String key, java.lang.Object value)
The value is formatted as a String before being added.
put
in interface java.util.Map<java.lang.String,java.lang.Object>
put
in class java.util.HashMap<java.lang.String,java.lang.Object>
public void putAll(java.util.Map<? extends java.lang.String,? extends java.lang.Object> map)
Each value is formatted as a String before being added.
putAll
in interface java.util.Map<java.lang.String,java.lang.Object>
putAll
in class java.util.HashMap<java.lang.String,java.lang.Object>
public RedirectAttributes addFlashAttribute(java.lang.String attributeName, java.lang.Object attributeValue)
RedirectAttributes
addFlashAttribute
in interface RedirectAttributes
attributeName
- the attribute name; never null
attributeValue
- the attribute value; may be null
public RedirectAttributes addFlashAttribute(java.lang.Object attributeValue)
RedirectAttributes
generated name
.addFlashAttribute
in interface RedirectAttributes
attributeValue
- the flash attribute value; never null