public abstract class ContextAttributes
extends java.lang.Object
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.
Modifier and Type | Class and Description |
---|---|
static class |
ContextAttributes.Impl |
Constructor and Description |
---|
ContextAttributes() |
Modifier and Type | Method and Description |
---|---|
abstract java.lang.Object |
getAttribute(java.lang.Object key)
Accessor for value of specified attribute
|
static 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) |
public static ContextAttributes getEmpty()
public abstract ContextAttributes withSharedAttribute(java.lang.Object key, java.lang.Object value)
public abstract ContextAttributes withSharedAttributes(java.util.Map<?,?> attributes)
public abstract ContextAttributes withoutSharedAttribute(java.lang.Object key)
public abstract java.lang.Object getAttribute(java.lang.Object key)
public abstract ContextAttributes withPerCallAttribute(java.lang.Object key, java.lang.Object value)
Copyright © 2010 - 2020 Adobe. All Rights Reserved