Package org.apache.logging.log4j.spi
Class DefaultThreadContextMap
java.lang.Object
org.apache.logging.log4j.spi.DefaultThreadContextMap
- All Implemented Interfaces:
Serializable,ThreadContextMap,org.apache.logging.log4j.util.ReadOnlyStringMap
public class DefaultThreadContextMap
extends Object
implements ThreadContextMap, org.apache.logging.log4j.util.ReadOnlyStringMap
The actual ThreadContext Map. A new ThreadContext Map is created each time it is updated and the Map stored is always
immutable. This means the Map can be passed to other threads without concern that it will be updated. Since it is
expected that the Map will be passed to many more log events than the number of keys it contains the performance
should be much better than if the Map was copied for each event.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringProperty name ("isThreadContextMapInheritable" ) for selectingInheritableThreadLocal(value "true") or plainThreadLocal(value is not "true") in the implementation. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidclear()Clears the context.booleancontainsKey(String key) Determines if the key is in the context.boolean<V> void<V,S> void Gets the context identified by thekeyparameter.getCopy()Gets a non-nullmutable copy of current thread's context Map.Returns an immutable view on the context Map ornullif the context map is empty.<V> VinthashCode()booleanisEmpty()Returns true if the Map is empty.voidPuts a context value (theoparameter) as identified with thekeyparameter into the current thread's context map.voidvoidRemoves the context identified by thekeyparameter.voidintsize()toMap()toString()
-
Field Details
-
INHERITABLE_MAP
Property name ("isThreadContextMapInheritable" ) for selectingInheritableThreadLocal(value "true") or plainThreadLocal(value is not "true") in the implementation.- See Also:
-
-
Constructor Details
-
DefaultThreadContextMap
public DefaultThreadContextMap() -
DefaultThreadContextMap
public DefaultThreadContextMap(boolean useMap)
-
-
Method Details
-
put
Description copied from interface:ThreadContextMapPuts a context value (theoparameter) as identified with thekeyparameter into the current thread's context map.If the current thread does not have a context map it is created as a side effect.
- Specified by:
putin interfaceThreadContextMap- Parameters:
key- The key name.value- The key value.
-
putAll
-
get
Description copied from interface:ThreadContextMapGets the context identified by thekeyparameter.This method has no side effects.
- Specified by:
getin interfaceThreadContextMap- Parameters:
key- The key to locate.- Returns:
- The value associated with the key or null.
-
remove
Description copied from interface:ThreadContextMapRemoves the context identified by thekeyparameter.- Specified by:
removein interfaceThreadContextMap- Parameters:
key- The key to remove.
-
removeAll
-
clear
public void clear()Description copied from interface:ThreadContextMapClears the context.- Specified by:
clearin interfaceThreadContextMap
-
toMap
- Specified by:
toMapin interfaceorg.apache.logging.log4j.util.ReadOnlyStringMap
-
containsKey
Description copied from interface:ThreadContextMapDetermines if the key is in the context.- Specified by:
containsKeyin interfaceorg.apache.logging.log4j.util.ReadOnlyStringMap- Specified by:
containsKeyin interfaceThreadContextMap- Parameters:
key- The key to locate.- Returns:
- True if the key is in the context, false otherwise.
-
forEach
- Specified by:
forEachin interfaceorg.apache.logging.log4j.util.ReadOnlyStringMap
-
forEach
public <V,S> void forEach(org.apache.logging.log4j.util.TriConsumer<String, ? super V, S> action, S state) - Specified by:
forEachin interfaceorg.apache.logging.log4j.util.ReadOnlyStringMap
-
getValue
- Specified by:
getValuein interfaceorg.apache.logging.log4j.util.ReadOnlyStringMap
-
getCopy
Description copied from interface:ThreadContextMapGets a non-nullmutable copy of current thread's context Map.- Specified by:
getCopyin interfaceThreadContextMap- Returns:
- a mutable copy of the context.
-
getImmutableMapOrNull
Description copied from interface:ThreadContextMapReturns an immutable view on the context Map ornullif the context map is empty.- Specified by:
getImmutableMapOrNullin interfaceThreadContextMap- Returns:
- an immutable context Map or
null.
-
isEmpty
public boolean isEmpty()Description copied from interface:ThreadContextMapReturns true if the Map is empty.- Specified by:
isEmptyin interfaceorg.apache.logging.log4j.util.ReadOnlyStringMap- Specified by:
isEmptyin interfaceThreadContextMap- Returns:
- true if the Map is empty, false otherwise.
-
size
public int size()- Specified by:
sizein interfaceorg.apache.logging.log4j.util.ReadOnlyStringMap
-
toString
-
hashCode
public int hashCode() -
equals
-