Class ContextAttributes
- java.lang.Object
-
- com.fasterxml.jackson.databind.cfg.ContextAttributes
-
- Direct Known Subclasses:
ContextAttributes.Impl
public abstract class ContextAttributes extends java.lang.ObjectHelper class used for storing and accessing per-call attributes. Storage is two-layered: at higher precedence, we have actual per-call attributes; and at lower precedence, default attributes that may be defined for Object readers and writers.Note that the way mutability is implemented differs between kinds of attributes, to account for thread-safety: per-call attributes are handled assuming that instances are never shared, whereas changes to per-reader/per-writer attributes are made assuming sharing, by creating new copies instead of modifying state. This allows sharing of default values without per-call copying, but requires two-level lookup on access.
- Since:
- 2.3
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classContextAttributes.Impl
-
Constructor Summary
Constructors Constructor Description ContextAttributes()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract java.lang.ObjectgetAttribute(java.lang.Object key)Accessor for value of specified attributestatic ContextAttributesgetEmpty()abstract ContextAttributeswithoutSharedAttribute(java.lang.Object key)abstract ContextAttributeswithPerCallAttribute(java.lang.Object key, java.lang.Object value)Mutator used during call (via context) to set value of "non-shared" part of attribute set.abstract ContextAttributeswithSharedAttribute(java.lang.Object key, java.lang.Object value)abstract ContextAttributeswithSharedAttributes(java.util.Map<?,?> attributes)
-
-
-
Method Detail
-
getEmpty
public static ContextAttributes getEmpty()
-
withSharedAttribute
public abstract ContextAttributes withSharedAttribute(java.lang.Object key, java.lang.Object value)
-
withSharedAttributes
public abstract ContextAttributes withSharedAttributes(java.util.Map<?,?> attributes)
-
withoutSharedAttribute
public abstract ContextAttributes withoutSharedAttribute(java.lang.Object key)
-
getAttribute
public abstract java.lang.Object getAttribute(java.lang.Object key)
Accessor for value of specified attribute
-
withPerCallAttribute
public abstract ContextAttributes withPerCallAttribute(java.lang.Object key, java.lang.Object value)
Mutator used during call (via context) to set value of "non-shared" part of attribute set.
-
-