Class ContextAttributes
- java.lang.Object
-
- com.fasterxml.jackson.databind.cfg.ContextAttributes
-
- Direct Known Subclasses:
ContextAttributes.Impl
public abstract class ContextAttributes extends java.lang.Object
Helper 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 class
ContextAttributes.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.Object
getAttribute(java.lang.Object key)
Accessor for value of specified attributestatic ContextAttributes
getEmpty()
abstract ContextAttributes
withoutSharedAttribute(java.lang.Object key)
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.abstract ContextAttributes
withSharedAttribute(java.lang.Object key, java.lang.Object value)
abstract ContextAttributes
withSharedAttributes(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.
-
-