接口 AttributeAccessor

所有已知实现类:
AttributeAccessorSupport

public interface AttributeAccessor
Interface defining a generic contract for attaching and accessing metadata to/from arbitrary objects.
从以下版本开始:
2.1.7
作者:
Rob Harrop, TODAY
2020-02-22 12:47
  • 方法详细资料

    • setAttribute

      void setAttribute(String name, @Nullable Object value)
      Set the attribute defined by name to the supplied value. If value is null, the attribute is removed.

      In general, users should take care to prevent overlaps with other metadata attributes by using fully-qualified names, perhaps using class or package names as prefix.

      参数:
      name - the unique attribute key
      value - the attribute value to be attached
    • getAttribute

      @Nullable Object getAttribute(String name)
      Get the value of the attribute identified by name. Return null if the attribute doesn't exist.
      参数:
      name - the unique attribute key
      返回:
      the current value of the attribute, if any
    • removeAttribute

      @Nullable Object removeAttribute(String name)
      Remove the attribute identified by name and return its value. Return null if no attribute under name is found.
      参数:
      name - the unique attribute key
      返回:
      the last value of the attribute, if any
    • hasAttribute

      boolean hasAttribute(String name)
      Return true if the attribute identified by name exists. Otherwise return false.
      参数:
      name - the unique attribute key
    • getAttributeNames

      String[] getAttributeNames()
      Return the names of all attributes.
    • attributeNames

      default Iterator<String> attributeNames()
      Return the names Iterator.
      从以下版本开始:
      4.0
    • hasAttributes

      boolean hasAttributes()
      Returns true if this map contains no key-value mappings.
      返回:
      true if this map contains no key-value mappings
      从以下版本开始:
      4.0
    • getAttributes

      Map<String,Object> getAttributes()
      Return attributes map
      返回:
      attributes map
      从以下版本开始:
      3.0
    • computeAttribute

      default <T> T computeAttribute(String name, Function<String,T> computeFunction)
      Compute a new value for the attribute identified by name if necessary and set the new value in this AttributeAccessor.

      If a value for the attribute identified by name already exists in this AttributeAccessor, the existing value will be returned without applying the supplied compute function.

      The default implementation of this method is not thread safe but can overridden by concrete implementations of this interface.

      类型参数:
      T - the type of the attribute value
      参数:
      name - the unique attribute key
      computeFunction - a function that computes a new value for the attribute name; the function must not return a null value
      返回:
      the existing value or newly computed value for the named attribute
      抛出:
      IllegalStateException - If computeFunction returns null
      从以下版本开始:
      3.0
      另请参阅:
    • copyAttributesFrom

      void copyAttributesFrom(AttributeAccessor source)
      从以下版本开始:
      3.0
    • clearAttributes

      void clearAttributes()