public class ConcurrentModel extends java.util.concurrent.ConcurrentHashMap<java.lang.String,java.lang.Object> implements Model
Model based on a ConcurrentHashMap for use
in concurrent scenarios. Exposed to handler methods by Spring Web Reactive
typically via a declaration of the Model interface. There is typically
no need to create it within user code. If necessary a controller method can
return a regular java.util.Map, or more likely a
java.util.ConcurrentMap.java.util.concurrent.ConcurrentHashMap.KeySetView<K,V>| Constructor and Description |
|---|
ConcurrentModel()
Construct a new, empty
ConcurrentModel. |
ConcurrentModel(java.lang.Object attributeValue)
Construct a new
ModelMap containing the supplied attribute. |
ConcurrentModel(java.lang.String attributeName,
java.lang.Object attributeValue)
Construct a new
ModelMap containing the supplied attribute
under the supplied name. |
| Modifier and Type | Method and Description |
|---|---|
ConcurrentModel |
addAllAttributes(java.util.Collection<?> attributeValues)
Copy all attributes in the supplied
Collection into this
Map, using attribute name generation for each element. |
ConcurrentModel |
addAllAttributes(java.util.Map<java.lang.String,?> attributes)
Copy all attributes in the supplied
Map into this Map. |
ConcurrentModel |
addAttribute(java.lang.Object attributeValue)
Add the supplied attribute to this
Map using a
generated name. |
ConcurrentModel |
addAttribute(java.lang.String attributeName,
java.lang.Object attributeValue)
Add the supplied attribute under the supplied name.
|
java.util.Map<java.lang.String,java.lang.Object> |
asMap()
Return the current set of model attributes as a Map.
|
boolean |
containsAttribute(java.lang.String attributeName)
Does this model contain an attribute of the given name?
|
ConcurrentModel |
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. |
clear, compute, computeIfAbsent, computeIfPresent, contains, containsKey, containsValue, elements, entrySet, equals, forEach, forEach, forEach, forEachEntry, forEachEntry, forEachKey, forEachKey, forEachValue, forEachValue, get, getOrDefault, hashCode, isEmpty, keys, keySet, keySet, mappingCount, merge, newKeySet, newKeySet, put, putAll, putIfAbsent, reduce, reduceEntries, reduceEntries, reduceEntriesToDouble, reduceEntriesToInt, reduceEntriesToLong, reduceKeys, reduceKeys, reduceKeysToDouble, reduceKeysToInt, reduceKeysToLong, reduceToDouble, reduceToInt, reduceToLong, reduceValues, reduceValues, reduceValuesToDouble, reduceValuesToInt, reduceValuesToLong, remove, remove, replace, replace, replaceAll, search, searchEntries, searchKeys, searchValues, size, toString, valuespublic ConcurrentModel()
ConcurrentModel.public ConcurrentModel(java.lang.String attributeName,
java.lang.Object attributeValue)
ModelMap containing the supplied attribute
under the supplied name.addAttribute(String, Object)public ConcurrentModel(java.lang.Object attributeValue)
ModelMap containing the supplied attribute.
Uses attribute name generation to generate the key for the supplied model
object.addAttribute(Object)public ConcurrentModel addAttribute(java.lang.String attributeName, java.lang.Object attributeValue)
addAttribute in interface ModelattributeName - the name of the model attribute (never null)attributeValue - the model attribute value (can be null)public ConcurrentModel 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.
addAttribute in interface ModelattributeValue - the model attribute value (never null)public ConcurrentModel addAllAttributes(java.util.Collection<?> attributeValues)
Collection into this
Map, using attribute name generation for each element.addAllAttributes in interface ModeladdAttribute(Object)public ConcurrentModel addAllAttributes(java.util.Map<java.lang.String,?> attributes)
Map into this Map.addAllAttributes in interface ModeladdAttribute(String, Object)public ConcurrentModel 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).mergeAttributes in interface Modelpublic boolean containsAttribute(java.lang.String attributeName)
containsAttribute in interface ModelattributeName - the name of the model attribute (never null)