org.apache.log
Class ContextMap

java.lang.Object
  extended by org.apache.log.ContextMap
All Implemented Interfaces:
Serializable

public final class ContextMap
extends Object
implements Serializable

The ContextMap contains non-hierarchical context information relevant to a particular LogEvent. It may include information such as;

The context is bound to a thread (and inherited by sub-threads) but it can also be added to by LogTargets. Use removeCurrentContext() to unbind context from the thread.

Author:
Avalon Development Team, Peter Donald
See Also:
Serialized Form

Constructor Summary
ContextMap()
          Default constructor.
ContextMap(ContextMap parent)
          Constructor that sets parent contextMap.
 
Method Summary
static void bind(ContextMap context)
          Bind a particular ContextMap to current thread.
 void clear()
          Empty the context map.
 Object get(String key)
          Get an entry from the context.
 Object get(String key, Object defaultObject)
          Get an entry from the context.
static ContextMap getCurrentContext()
          Get current ContextMap.
static ContextMap getCurrentContext(boolean autocreate)
          Get current ContextMap.
 int getSize()
          Get the number of contexts in map.
 boolean isReadOnly()
          Determine if context is read-only.
 void makeReadOnly()
          Make the context read-only.
static void removeCurrentContext()
          Remove current ContextMap.
 void set(String key, Object value)
          Set a value in context
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ContextMap

public ContextMap()
Default constructor.


ContextMap

public ContextMap(ContextMap parent)
Constructor that sets parent contextMap.

Parameters:
parent - the parent ContextMap
Method Detail

getCurrentContext

public static ContextMap getCurrentContext()
Get current ContextMap. This method returns a ContextMap associated with current thread. If the thread doesn't have a ContextMap associated with it then a new ContextMap is created.

Returns:
the current ContextMap

getCurrentContext

public static ContextMap getCurrentContext(boolean autocreate)
Get current ContextMap. This method returns a ContextMap associated with current thread. If the thread doesn't have a ContextMap associated with it and autocreate is true then a new ContextMap is created.

Parameters:
autocreate - true if a ContextMap is to be created if it doesn't exist
Returns:
the current ContextMap

removeCurrentContext

public static void removeCurrentContext()
Remove current ContextMap. This method removes a ContextMap associated with current thread, if there is any.


bind

public static void bind(ContextMap context)
Bind a particular ContextMap to current thread.

Parameters:
context - the context map (may be null)

makeReadOnly

public void makeReadOnly()
Make the context read-only. This makes it safe to allow untrusted code reference to ContextMap.


isReadOnly

public boolean isReadOnly()
Determine if context is read-only.

Returns:
true if Context is read only, false otherwise

clear

public void clear()
Empty the context map.


get

public Object get(String key,
                  Object defaultObject)
Get an entry from the context.

Parameters:
key - the key to map
defaultObject - a default object to return if key does not exist
Returns:
the object in context

get

public Object get(String key)
Get an entry from the context.

Parameters:
key - the key to map
Returns:
the object in context or null if none with specified key

set

public void set(String key,
                Object value)
Set a value in context

Parameters:
key - the key
value - the value (may be null)

getSize

public int getSize()
Get the number of contexts in map.

Returns:
the number of contexts in map


Copyright © 1997-2012 Apache Software Foundation. All Rights Reserved.