- java.lang.Object
-
- org.apache.log.ContextMap
-
- All Implemented Interfaces:
java.io.Serializable
public final class ContextMap extends java.lang.Object implements java.io.Serializable
The ContextMap contains non-hierarchical context information relevant to a particular LogEvent. It may include information such as;- user ->fred
- hostname ->helm.realityforge.org
- ipaddress ->1.2.3.4
- interface ->127.0.0.1
- caller ->com.biz.MyCaller.method(MyCaller.java:18)
- source ->1.6.3.2:33
removeCurrentContext()
to unbind context from the thread.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description ContextMap()
Default constructor.ContextMap(ContextMap parent)
Constructor that sets parent contextMap.
-
Method Summary
Modifier and Type Method Description static void
bind(ContextMap context)
Bind a particular ContextMap to current thread.void
clear()
Empty the context map.java.lang.Object
get(java.lang.String key)
Get an entry from the context.java.lang.Object
get(java.lang.String key, java.lang.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(java.lang.String key, java.lang.Object value)
Set a value in context
-
-
-
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 java.lang.Object get(java.lang.String key, java.lang.Object defaultObject)
Get an entry from the context.- Parameters:
key
- the key to mapdefaultObject
- a default object to return if key does not exist- Returns:
- the object in context
-
get
public java.lang.Object get(java.lang.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(java.lang.String key, java.lang.Object value)
Set a value in context- Parameters:
key
- the keyvalue
- the value (may be null)
-
getSize
public int getSize()
Get the number of contexts in map.- Returns:
- the number of contexts in map
-
-