org.springframework.ui

Class ExtendedModelMap

  • java.lang.Object
    • java.util.AbstractMap<K,V>
      • java.util.HashMap<K,V>
  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, java.util.Map<java.lang.String,java.lang.Object>, Model
    Direct Known Subclasses:
    BindingAwareModelMap


    public class ExtendedModelMap
    extends ModelMap
    implements Model
    Subclass of ModelMap that implements the Model interface. Java 5 specific like the Model interface itself.

    This is an implementation class exposed to handler methods by Spring MVC, typically via a declaration of the Model interface. There is no need to build it within user code; a plain ModelMap or even a just a regular Map with String keys will be good enough to return a user model.

    Since:
    2.5.1
    Author:
    Juergen Hoeller
    See Also:
    Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from class java.util.AbstractMap

        java.util.AbstractMap.SimpleEntry<K,V>, java.util.AbstractMap.SimpleImmutableEntry<K,V>
    • Constructor Summary

      Constructors 
      Constructor and Description
      ExtendedModelMap() 
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      ExtendedModelMap addAllAttributes(java.util.Collection<?> attributeValues)
      Copy all attributes in the supplied Collection into this Map, using attribute name generation for each element.
      ExtendedModelMap addAllAttributes(java.util.Map<java.lang.String,?> attributes)
      Copy all attributes in the supplied Map into this Map.
      ExtendedModelMap addAttribute(java.lang.Object attributeValue)
      Add the supplied attribute to this Map using a generated name.
      ExtendedModelMap 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.
      ExtendedModelMap 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.
      • Methods inherited from class java.util.LinkedHashMap

        clear, containsValue, entrySet, forEach, get, getOrDefault, keySet, removeEldestEntry, replaceAll, values
      • Methods inherited from class java.util.HashMap

        clone, compute, computeIfAbsent, computeIfPresent, containsKey, isEmpty, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, size
      • Methods inherited from class java.util.AbstractMap

        equals, hashCode, toString
      • Methods inherited from class java.lang.Object

        finalize, getClass, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface java.util.Map

        compute, computeIfAbsent, computeIfPresent, containsKey, equals, hashCode, isEmpty, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, size
    • Constructor Detail

      • ExtendedModelMap

        public ExtendedModelMap()
    • Method Detail

      • addAttribute

        public ExtendedModelMap addAttribute(java.lang.String attributeName,
                                             @Nullable
                                             java.lang.Object attributeValue)
        Description copied from class: ModelMap
        Add the supplied attribute under the supplied name.
        Specified by:
        addAttribute in interface Model
        Overrides:
        addAttribute in class ModelMap
        Parameters:
        attributeName - the name of the model attribute (never null)
        attributeValue - the model attribute value (can be null)
      • addAttribute

        public ExtendedModelMap addAttribute(java.lang.Object attributeValue)
        Description copied from class: ModelMap
        Add the supplied attribute to this Map using a generated name.

        Note: Empty 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.

        Specified by:
        addAttribute in interface Model
        Overrides:
        addAttribute in class ModelMap
        Parameters:
        attributeValue - the model attribute value (never null)
      • mergeAttributes

        public ExtendedModelMap mergeAttributes(@Nullable
                                                java.util.Map<java.lang.String,?> attributes)
        Description copied from class: ModelMap
        Copy all attributes in the supplied Map into this Map, with existing objects of the same name taking precedence (i.e. not getting replaced).
        Specified by:
        mergeAttributes in interface Model
        Overrides:
        mergeAttributes in class ModelMap
      • asMap

        public java.util.Map<java.lang.String,java.lang.Object> asMap()
        Description copied from interface: Model
        Return the current set of model attributes as a Map.
        Specified by:
        asMap in interface Model