AttributeAccessor
顶层接口,用于向任意对象附加元数据或从任意对象访问元数据
void setAttribute(String name, @Nullable Object value);
@Nullable
Object getAttribute(String name);
default <T> T computeAttribute(String name, Function<String, T> computeFunction); 默认实现:若name没有设置value,则触发computeFunction来得到value并setAttribute
@Nullable
Object removeAttribute(String name);
boolean hasAttribute(String name);
String[] attributeNames();