Class DefaultContext

  • All Implemented Interfaces:
    java.io.Serializable, org.apache.avalon.framework.context.Context

    public class DefaultContext
    extends java.lang.Object
    implements org.apache.avalon.framework.context.Context, java.io.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
    See Also:
    Serialized Form
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      private static class  DefaultContext.Hidden  
    • Constructor Summary

      Constructors 
      Constructor Description
      DefaultContext()
      Create a Context with no parent.
      DefaultContext​(java.util.Map contextData)
      Create a Context with specified data.
      DefaultContext​(java.util.Map contextData, org.apache.avalon.framework.context.Context parent)
      Create a Context with specified data and parent.
      DefaultContext​(org.apache.avalon.framework.context.Context parent)
      Create a Context with specified parent.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void checkWriteable()
      Utility method to check if context is writeable and if not throw exception.
      boolean equals​(java.lang.Object o)
      Check for equality between two DefaultContext objects.
      java.lang.Object get​(java.lang.Object key)
      Retrieve an item from the Context.
      protected java.util.Map getContextData()
      Utility method to retrieve context data.
      protected org.apache.avalon.framework.context.Context getParent()
      Get parent context if any.
      int hashCode()  
      void hide​(java.lang.Object key)
      Hides the item in the context.
      void makeReadOnly()
      Make the context read-only.
      void put​(java.lang.Object key, java.lang.Object value)
      Helper method fo adding items to Context.
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • m_contextData

        private final java.util.Map m_contextData
      • m_parent

        private final org.apache.avalon.framework.context.Context m_parent
      • m_readOnly

        private boolean m_readOnly
    • Constructor Detail

      • DefaultContext

        public DefaultContext​(java.util.Map contextData,
                              org.apache.avalon.framework.context.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​(java.util.Map contextData)
        Create a Context with specified data.
        Parameters:
        contextData - the context data
      • DefaultContext

        public DefaultContext​(org.apache.avalon.framework.context.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

      • get

        public java.lang.Object get​(java.lang.Object key)
                             throws org.apache.avalon.framework.context.ContextException
        Retrieve an item from the Context.
        Specified by:
        get in interface org.apache.avalon.framework.context.Context
        Parameters:
        key - the key of item
        Returns:
        the item stored in context
        Throws:
        org.apache.avalon.framework.context.ContextException - if item not present
      • put

        public void put​(java.lang.Object key,
                        java.lang.Object value)
                 throws java.lang.IllegalStateException
        Helper method fo adding items to Context.
        Parameters:
        key - the items key
        value - the item
        Throws:
        java.lang.IllegalStateException - if context is read only
      • hide

        public void hide​(java.lang.Object key)
                  throws java.lang.IllegalStateException
        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:
        java.lang.IllegalStateException - if context is read only
      • getContextData

        protected final java.util.Map getContextData()
        Utility method to retrieve context data.
        Returns:
        the context data
      • getParent

        protected final org.apache.avalon.framework.context.Context getParent()
        Get parent context if any.
        Returns:
        the parent Context (may be null)
      • makeReadOnly

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

        protected final void checkWriteable()
                                     throws java.lang.IllegalStateException
        Utility method to check if context is writeable and if not throw exception.
        Throws:
        java.lang.IllegalStateException - if context is read only
      • equals

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

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

        • They are both of the same class.
        • They both have the same parent.
        • The content of the context map are identical, i.e HashMap.equals()
        • The have the same readOnly state.
        Overrides:
        equals in class java.lang.Object
        Since:
        4.5
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object