org.codehaus.plexus.context
Class DefaultContext

java.lang.Object
  extended by org.codehaus.plexus.context.DefaultContext
All Implemented Interfaces:
Context

public class DefaultContext
extends Object
implements Context

Default implementation of Context. This implementation is a static hierarchial store. It has the normal get() and put methods. The hide method will hide a property. When a property has been hidden the containerContext will not search in the parent containerContext for the value.

Version:
$Id: DefaultContext.java 6585 2007-07-04 17:37:22Z kenney $
Author:
Avalon Development Team

Constructor Summary
DefaultContext()
          Create a empty Context with no parent.
DefaultContext(Context parent)
          Create a Context with specified parent.
DefaultContext(Map contextData)
          Create a empty Context with specified data.
DefaultContext(Map contextData, Context parent)
          Create a Context with specified data and parent.
 
Method Summary
protected  void checkWriteable()
          Utility method to check if containerContext is writeable and if not throw exception.
 boolean contains(Object key)
          Returns true if the map or the parent map contains the key.
 Object get(Object key)
          Returns the value of the key.
 Map getContextData()
          Utility method to retrieve containerContext data
protected  Context getParent()
          Get parent containerContext if any.
 void hide(Object key)
          Hides the item in the containerContext.
 void makeReadOnly()
          Make the containerContext read-only.
 void put(Object key, Object value)
          Helper method for adding items to Context.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DefaultContext

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

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

DefaultContext

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

Parameters:
contextData - the containerContext 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 empty Context with no parent.

Method Detail

contains

public boolean contains(Object key)
Returns true if the map or the parent map contains the key.

Specified by:
contains in interface Context
Parameters:
key - The key to search for.
Returns:
Returns true if the key was found.

get

public Object get(Object key)
           throws ContextException
Returns the value of the key. If the key can't be found it will throw a exception.

Specified by:
get in interface Context
Parameters:
key - The key of the value to look up.
Returns:
Returns
Throws:
ContextException - If the key doesn't exist.

put

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

Specified by:
put in interface Context
Parameters:
key - the items key
value - the item
Throws:
IllegalStateException - if containerContext is read only

hide

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

Specified by:
hide in interface Context
Parameters:
key - the items key
Throws:
IllegalStateException - if containerContext is read only

getContextData

public Map getContextData()
Utility method to retrieve containerContext data

Specified by:
getContextData in interface Context
Returns:
the containerContext data

getParent

protected Context getParent()
Get parent containerContext if any.

Returns:
the parent Context (may be null)

makeReadOnly

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

Specified by:
makeReadOnly in interface Context

checkWriteable

protected void checkWriteable()
                       throws IllegalStateException
Utility method to check if containerContext is writeable and if not throw exception.

Throws:
IllegalStateException - if containerContext is read only


Copyright © 2001-2007 Codehaus. All Rights Reserved.