Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.logging.log4j.spi
Class DefaultThreadContextMap

    java.lang.Object
      org.apache.logging.log4j.spi.DefaultThreadContextMap

All Implemented Interfaces:
  ThreadContextMap

    public class DefaultThreadContextMap

extends Object
implements ThreadContextMap

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.

Field Summary
`static String` | `INHERITABLE_MAP` Property name ("isThreadContextMapInheritable") for selecting `InheritableThreadLocal` (value "true") or plain `ThreadLocal` (value is not "true") in the implementation.

Constructor Summary
`DefaultThreadContextMap(boolean useMap)`

Method Summary
`void` | `clear()` Clear the context.
`boolean` | `containsKey(String key)` Determine if the key is in the context.
`boolean` | `equals(Object obj)`
`String` | `get(String key)` Get the context identified by the `key` parameter.
`Map<String,String>` | `getCopy()` Get a non-`null` mutable copy of current thread's context Map.
`Map<String,String>` | `getImmutableMapOrNull()` Return an immutable view on the context Map or `null` if the context map is empty.
`int` | `hashCode()`
`boolean` | `isEmpty()` Returns true if the Map is empty.
`void` | `put(String key, String value)` Put a context value (the `o` parameter) as identified with the `key` parameter into the current thread's context map.
`void` | `remove(String key)` Remove the the context identified by the `key` parameter.
`String` | `toString()`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

Field Detail

### INHERITABLE_MAP

    public static final String INHERITABLE_MAP

  Property name ("isThreadContextMapInheritable") for selecting `InheritableThreadLocal` (value "true") or plain `ThreadLocal` (value is not "true") in the implementation.

  See Also:
    Constant Field Values

Constructor Detail

### DefaultThreadContextMap

    public DefaultThreadContextMap(boolean useMap)

Method Detail

### put

    public void put(String key,
                    String value)

  Description copied from interface: `ThreadContextMap`
  Put a context value (the `o` parameter) as identified with the `key` parameter 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:
    `put` in interface `ThreadContextMap`
  Parameters:
    `key` - The key name.
    `value` - The key value.

### get

    public String get(String key)

  Description copied from interface: `ThreadContextMap`
  Get the context identified by the `key` parameter.

  This method has no side effects.

  Specified by:
    `get` in interface `ThreadContextMap`
  Parameters:
    `key` - The key to locate.
  Returns:
    The value associated with the key or null.

### remove

    public void remove(String key)

  Description copied from interface: `ThreadContextMap`
  Remove the the context identified by the `key` parameter.

  Specified by:
    `remove` in interface `ThreadContextMap`
  Parameters:
    `key` - The key to remove.

### clear

    public void clear()

  Description copied from interface: `ThreadContextMap`
  Clear the context.

  Specified by:
    `clear` in interface `ThreadContextMap`

### containsKey

    public boolean containsKey(String key)

  Description copied from interface: `ThreadContextMap`
  Determine if the key is in the context.

  Specified by:
    `containsKey` in interface `ThreadContextMap`
  Parameters:
    `key` - The key to locate.
  Returns:
    True if the key is in the context, false otherwise.

### getCopy

    public Map<String,String> getCopy()

  Description copied from interface: `ThreadContextMap`
  Get a non-`null` mutable copy of current thread's context Map.

  Specified by:
    `getCopy` in interface `ThreadContextMap`
  Returns:
    a mutable copy of the context.

### getImmutableMapOrNull

    public Map<String,String> getImmutableMapOrNull()

  Description copied from interface: `ThreadContextMap`
  Return an immutable view on the context Map or `null` if the context map is empty.

  Specified by:
    `getImmutableMapOrNull` in interface `ThreadContextMap`
  Returns:
    an immutable context Map or `null`.

### isEmpty

    public boolean isEmpty()

  Description copied from interface: `ThreadContextMap`
  Returns true if the Map is empty.

  Specified by:
    `isEmpty` in interface `ThreadContextMap`
  Returns:
    true if the Map is empty, false otherwise.

### toString

    public String toString()

  Overrides:
    `toString` in class `Object`

### hashCode

    public int hashCode()

  Overrides:
    `hashCode` in class `Object`

### equals

    public boolean equals(Object obj)

  Overrides:
    `equals` in class `Object`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 1999-2015 Apache Software Foundation. All Rights Reserved.
Apache Logging, Apache Log4j, Log4j, Apache, the Apache feather logo, the Apache Logging project logo, and the Apache Log4j logo are trademarks of The Apache Software Foundation.