程序包 cn.taketoday.ui

类 ConcurrentModel

所有已实现的接口:
Model, Serializable, ConcurrentMap<String,Object>, Map<String,Object>

public class ConcurrentModel extends ConcurrentHashMap<String,Object> implements Model
Implementation of the Model interface based on a ConcurrentHashMap for use in concurrent scenarios.

Exposed to handler methods by Spring WebFlux, typically via a declaration of the Model interface. There is typically no need to create it within user code. If necessary a handler method can return a regular java.util.Map, likely a java.util.ConcurrentMap, for a pre-determined model.

从以下版本开始:
4.0
作者:
Rossen Stoyanchev
另请参阅:
  • 构造器详细资料

    • ConcurrentModel

      public ConcurrentModel()
      Construct a new, empty ConcurrentModel.
    • ConcurrentModel

      public ConcurrentModel(String attributeName, Object attributeValue)
      Construct a new ModelMap containing the supplied attribute under the supplied name.
      另请参阅:
    • ConcurrentModel

      public ConcurrentModel(Object attributeValue)
      Construct a new ModelMap containing the supplied attribute. Uses attribute name generation to generate the key for the supplied model object.
      另请参阅:
  • 方法详细资料

    • put

      @Nullable public Object put(String key, @Nullable Object value)
      指定者:
      put 在接口中 Map<String,Object>
      覆盖:
      put 在类中 ConcurrentHashMap<String,Object>
    • putAll

      public void putAll(Map<? extends String,?> map)
      指定者:
      putAll 在接口中 Map<String,Object>
      覆盖:
      putAll 在类中 ConcurrentHashMap<String,Object>
    • addAttribute

      public ConcurrentModel addAttribute(String attributeName, @Nullable Object attributeValue)
      Add the supplied attribute under the supplied name.
      指定者:
      addAttribute 在接口中 Model
      参数:
      attributeName - the name of the model attribute (never null)
      attributeValue - the model attribute value (ignored if null, just removing an existing entry if any)
    • removeAttribute

      public Object removeAttribute(String name)
      从接口复制的说明: Model
      Removes an attribute from this request. This method is not generally needed as attributes only persist as long as the request is being handled.
      指定者:
      removeAttribute 在接口中 Model
      参数:
      name - a String specifying the name of the attribute to remove
      返回:
      the last value of the attribute, if any
    • addAttribute

      public ConcurrentModel addAttribute(Object attributeValue)
      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.

      指定者:
      addAttribute 在接口中 Model
      参数:
      attributeValue - the model attribute value (never null)
    • addAllAttributes

      public ConcurrentModel addAllAttributes(@Nullable Collection<?> attributeValues)
      Copy all attributes in the supplied Collection into this Map, using attribute name generation for each element.
      指定者:
      addAllAttributes 在接口中 Model
      另请参阅:
    • addAllAttributes

      public ConcurrentModel addAllAttributes(@Nullable Map<String,?> attributes)
      Copy all attributes in the supplied Map into this Map.
      指定者:
      addAllAttributes 在接口中 Model
      另请参阅:
    • mergeAttributes

      public ConcurrentModel mergeAttributes(@Nullable Map<String,?> attributes)
      Copy all attributes in the supplied Map into this Map, with existing objects of the same name taking precedence (i.e. not getting replaced).
      指定者:
      mergeAttributes 在接口中 Model
    • containsAttribute

      public boolean containsAttribute(String attributeName)
      Does this model contain an attribute of the given name?
      指定者:
      containsAttribute 在接口中 Model
      参数:
      attributeName - the name of the model attribute (never null)
      返回:
      whether this model contains a corresponding attribute
    • getAttribute

      @Nullable public Object getAttribute(String attributeName)
      从接口复制的说明: Model
      Returns the value of the named attribute as an Object, or null if no attribute of the given name exists.
      指定者:
      getAttribute 在接口中 Model
      参数:
      attributeName - a String specifying the name of the attribute
      返回:
      an Object containing the value of the attribute, or null if the attribute does not exist
    • setAttribute

      public void setAttribute(String name, @Nullable Object value)
      从接口复制的说明: Model
      Stores an attribute in this request. Attributes are reset between requests..
      指定者:
      setAttribute 在接口中 Model
      参数:
      name - a String specifying the name of the attribute
      value - the Object to be stored
    • asMap

      public Map<String,Object> asMap()
      从接口复制的说明: Model
      Convert this model to a Map
      指定者:
      asMap 在接口中 Model
    • attributeNames

      public Iterator<String> attributeNames()
      从接口复制的说明: Model
      Return the names Iterator.
      指定者:
      attributeNames 在接口中 Model