com.fasterxml.jackson.databind.cfg

## Class ContextAttributes.Impl

- java.lang.Object
- - com.fasterxml.jackson.databind.cfg.ContextAttributes
  - - com.fasterxml.jackson.databind.cfg.ContextAttributes.Impl

All Implemented Interfaces:
  Serializable

Enclosing class:
  ContextAttributes

    public static class ContextAttributes.Impl
    extends ContextAttributes
    implements Serializable

See Also:
  Serialized Form

### Nested Class Summary

### Nested classes/interfaces inherited from class com.fasterxml.jackson.databind.cfg.ContextAttributes

`ContextAttributes.Impl`

### Field Summary

Fields
`protected Map<Object,Object>` `_nonShared` Per-call attributes that we can directly modify, since they are not shared between threads.
`protected Map<Object,Object>` `_shared` Shared attributes that we can not modify in-place.
`protected static ContextAttributes.Impl` `EMPTY`
`protected static Object` `NULL_SURROGATE`

### Constructor Summary

Constructors
`protected` `ContextAttributes.Impl(Map<Object,Object> shared)`
`protected` `ContextAttributes.Impl(Map<Object,Object> shared, Map<Object,Object> nonShared)`

### Method Summary

Methods
`Object` `getAttribute(Object key)` Accessor for value of specified attribute
`static ContextAttributes` `getEmpty()`
`protected ContextAttributes` `nonSharedInstance(Object key, Object value)` Overridable method that creates initial non-shared instance, with the first explicit set value.
`ContextAttributes` `withoutSharedAttribute(Object key)`
`ContextAttributes` `withPerCallAttribute(Object key, Object value)` Mutator used during call (via context) to set value of "non-shared" part of attribute set.
`ContextAttributes` `withSharedAttribute(Object key, Object value)`
`ContextAttributes` `withSharedAttributes(Map<Object,Object> shared)`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### EMPTY

    protected static final ContextAttributes.Impl EMPTY

#### NULL_SURROGATE

    protected static final Object NULL_SURROGATE

#### _shared

    protected final Map<Object,Object> _shared

Shared attributes that we can not modify in-place.

#### _nonShared

    protected transient Map<Object,Object> _nonShared

Per-call attributes that we can directly modify, since they are not shared between threads.

### Constructor Detail

#### ContextAttributes.Impl

    protected ContextAttributes.Impl(Map<Object,Object> shared)

#### ContextAttributes.Impl

    protected ContextAttributes.Impl(Map<Object,Object> shared,
                          Map<Object,Object> nonShared)

### Method Detail

#### getEmpty

    public static ContextAttributes getEmpty()

#### withSharedAttribute

    public ContextAttributes withSharedAttribute(Object key,
                                        Object value)

Specified by:
  `withSharedAttribute` in class `ContextAttributes`

#### withSharedAttributes

    public ContextAttributes withSharedAttributes(Map<Object,Object> shared)

Specified by:
  `withSharedAttributes` in class `ContextAttributes`

#### withoutSharedAttribute

    public ContextAttributes withoutSharedAttribute(Object key)

Specified by:
  `withoutSharedAttribute` in class `ContextAttributes`

#### getAttribute

    public Object getAttribute(Object key)

Description copied from class: `ContextAttributes`
Accessor for value of specified attribute

Specified by:
  `getAttribute` in class `ContextAttributes`

#### withPerCallAttribute

    public ContextAttributes withPerCallAttribute(Object key,
                                         Object value)

Description copied from class: `ContextAttributes`
Mutator used during call (via context) to set value of "non-shared" part of attribute set.

Specified by:
  `withPerCallAttribute` in class `ContextAttributes`

#### nonSharedInstance

    protected ContextAttributes nonSharedInstance(Object key,
                                      Object value)

Overridable method that creates initial non-shared instance, with the first explicit set value.