public class ModelMap extends LinkedHashMap<String,Object>
Map
for use when building model data for use
with UI tools. Supports chained calls and generation of model attribute names.
This class serves as generic model holder for both Servlet and Portlet MVC,
but is not tied to either of those. Check out the Model
interface for
a Java-5-based interface variant that serves the same purpose.
Conventions.getVariableName(java.lang.Object)
,
ModelAndView
,
ModelAndView
,
Serialized FormAbstractMap.SimpleEntry<K,V>, AbstractMap.SimpleImmutableEntry<K,V>
Constructor and Description |
---|
ModelMap()
Construct a new, empty
ModelMap . |
ModelMap(Object attributeValue)
Construct a new
ModelMap containing the supplied attribute. |
ModelMap(String attributeName,
Object attributeValue)
Construct a new
ModelMap containing the supplied attribute
under the supplied name. |
Modifier and Type | Method and Description |
---|---|
ModelMap |
addAllAttributes(Collection<?> attributeValues)
Copy all attributes in the supplied
Collection into this
Map , using attribute name generation for each element. |
ModelMap |
addAllAttributes(Map<String,?> attributes)
Copy all attributes in the supplied
Map into this Map . |
ModelMap |
addAttribute(Object attributeValue)
Add the supplied attribute to this
Map using a
generated name . |
ModelMap |
addAttribute(String attributeName,
Object attributeValue)
Add the supplied attribute under the supplied name.
|
boolean |
containsAttribute(String attributeName)
Does this model contain an attribute of the given name?
|
ModelMap |
mergeAttributes(Map<String,?> attributes)
Copy all attributes in the supplied
Map into this Map ,
with existing objects of the same name taking precedence (i.e. |
clear, containsValue, entrySet, forEach, get, getOrDefault, keySet, removeEldestEntry, replaceAll, values
clone, compute, computeIfAbsent, computeIfPresent, containsKey, isEmpty, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, size
equals, hashCode, toString
finalize, getClass, notify, notifyAll, wait, wait, wait
compute, computeIfAbsent, computeIfPresent, containsKey, equals, hashCode, isEmpty, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, size
public ModelMap()
ModelMap
.public ModelMap(String attributeName, Object attributeValue)
ModelMap
containing the supplied attribute
under the supplied name.addAttribute(String, Object)
public ModelMap(Object attributeValue)
ModelMap
containing the supplied attribute.
Uses attribute name generation to generate the key for the supplied model
object.addAttribute(Object)
public ModelMap addAttribute(String attributeName, Object attributeValue)
attributeName
- the name of the model attribute (never null
)attributeValue
- the model attribute value (can be null
)public ModelMap addAttribute(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.
attributeValue
- the model attribute value (never null
)public ModelMap addAllAttributes(Collection<?> attributeValues)
Collection
into this
Map
, using attribute name generation for each element.addAttribute(Object)
public ModelMap addAllAttributes(Map<String,?> attributes)
Map
into this Map
.addAttribute(String, Object)
public ModelMap mergeAttributes(Map<String,?> attributes)
Map
into this Map
,
with existing objects of the same name taking precedence (i.e. not getting
replaced).public boolean containsAttribute(String attributeName)
attributeName
- the name of the model attribute (never null
)