public static class ContextAttributes.Impl extends ContextAttributes implements java.io.Serializable
ContextAttributes.Impl| Modifier and Type | Field and Description |
|---|---|
protected java.util.Map<java.lang.Object,java.lang.Object> |
_nonShared
Per-call attributes that we can directly modify, since they are not
shared between threads.
|
protected java.util.Map<?,?> |
_shared
Shared attributes that we can not modify in-place.
|
protected static ContextAttributes.Impl |
EMPTY |
protected static java.lang.Object |
NULL_SURROGATE |
| Modifier | Constructor and Description |
|---|---|
protected |
ContextAttributes.Impl(java.util.Map<?,?> shared) |
protected |
ContextAttributes.Impl(java.util.Map<?,?> shared,
java.util.Map<java.lang.Object,java.lang.Object> nonShared) |
| Modifier and Type | Method and Description |
|---|---|
java.lang.Object |
getAttribute(java.lang.Object key)
Accessor for value of specified attribute
|
static ContextAttributes |
getEmpty() |
protected ContextAttributes |
nonSharedInstance(java.lang.Object key,
java.lang.Object value)
Overridable method that creates initial non-shared instance,
with the first explicit set value.
|
ContextAttributes |
withoutSharedAttribute(java.lang.Object key) |
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.
|
ContextAttributes |
withSharedAttribute(java.lang.Object key,
java.lang.Object value) |
ContextAttributes |
withSharedAttributes(java.util.Map<?,?> shared) |
protected static final ContextAttributes.Impl EMPTY
protected static final java.lang.Object NULL_SURROGATE
protected final java.util.Map<?,?> _shared
protected transient java.util.Map<java.lang.Object,java.lang.Object> _nonShared
NOTE: typed as Object-to-Object, unlike _shared, because
we need to be able to modify contents, and wildcard type would
complicate that access.
protected ContextAttributes.Impl(java.util.Map<?,?> shared)
protected ContextAttributes.Impl(java.util.Map<?,?> shared,
java.util.Map<java.lang.Object,java.lang.Object> nonShared)
public static ContextAttributes getEmpty()
public ContextAttributes withSharedAttribute(java.lang.Object key, java.lang.Object value)
withSharedAttribute in class ContextAttributespublic ContextAttributes withSharedAttributes(java.util.Map<?,?> shared)
withSharedAttributes in class ContextAttributespublic ContextAttributes withoutSharedAttribute(java.lang.Object key)
withoutSharedAttribute in class ContextAttributespublic java.lang.Object getAttribute(java.lang.Object key)
ContextAttributesgetAttribute in class ContextAttributespublic ContextAttributes withPerCallAttribute(java.lang.Object key, java.lang.Object value)
ContextAttributeswithPerCallAttribute in class ContextAttributesprotected ContextAttributes nonSharedInstance(java.lang.Object key, java.lang.Object value)