org.apache.avalon.framework.context

Class DefaultContext

public class DefaultContext extends Object implements Context, Serializable

Default implementation of Context. This implementation is a static hierarchial store.

Version: $Id: DefaultContext.java 35590 2004-08-02 09:48:59 -0500 (Mon, 02 Aug 2004) niclas $

Author: Avalon Development Team

Nested Class Summary
static classDefaultContext.Hidden
Field Summary
static DefaultContext.HiddenHIDDEN_MAKER
Mapm_contextData
Contextm_parent
booleanm_readOnly
Constructor Summary
DefaultContext(Map contextData, Context parent)
Create a Context with specified data and parent.
DefaultContext(Map contextData)
Create a Context with specified data.
DefaultContext(Context parent)
Create a Context with specified parent.
DefaultContext()
Create a Context with no parent.
Method Summary
protected voidcheckWriteable()
Utility method to check if context is writeable and if not throw exception.
booleanequals(Object o)
Check for equality between two DefaultContext objects.
Objectget(Object key)
Retrieve an item from the Context.
protected MapgetContextData()
Utility method to retrieve context data.
protected ContextgetParent()
Get parent context if any.
inthashCode()
voidhide(Object key)
Hides the item in the context.
voidmakeReadOnly()
Make the context read-only.
voidput(Object key, Object value)
Helper method fo adding items to Context.

Field Detail

HIDDEN_MAKER

private static final DefaultContext.Hidden HIDDEN_MAKER

m_contextData

private final Map m_contextData

m_parent

private final Context m_parent

m_readOnly

private boolean m_readOnly

Constructor Detail

DefaultContext

public DefaultContext(Map contextData, Context parent)
Create a Context with specified data and parent.

Parameters: contextData the context data parent the parent Context (may be null)

DefaultContext

public DefaultContext(Map contextData)
Create a Context with specified data.

Parameters: contextData the context data

DefaultContext

public DefaultContext(Context parent)
Create a Context with specified parent.

Parameters: parent the parent Context (may be null)

DefaultContext

public DefaultContext()
Create a Context with no parent.

Method Detail

checkWriteable

protected final void checkWriteable()
Utility method to check if context is writeable and if not throw exception.

Throws: IllegalStateException if context is read only

equals

public boolean equals(Object o)
Check for equality between two DefaultContext objects.

Equality is said to be true if, and only if, the following criteria are met;

Since: 4.5

get

public Object get(Object key)
Retrieve an item from the Context.

Parameters: key the key of item

Returns: the item stored in context

Throws: ContextException if item not present

getContextData

protected final Map getContextData()
Utility method to retrieve context data.

Returns: the context data

getParent

protected final Context getParent()
Get parent context if any.

Returns: the parent Context (may be null)

hashCode

public int hashCode()

hide

public void hide(Object key)
Hides the item in the context. After remove(key) has been called, a get(key) will always fail, even if the parent context has such a mapping.

Parameters: key the items key

Throws: IllegalStateException if context is read only

makeReadOnly

public void makeReadOnly()
Make the context read-only. Any attempt to write to the context via put() will result in an IllegalStateException.

put

public void put(Object key, Object value)
Helper method fo adding items to Context.

Parameters: key the items key value the item

Throws: IllegalStateException if context is read only