Class 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.
    Author:
    Avalon Development Team
    • Constructor Detail

      • DefaultContext

        public DefaultContext()
        Create an empty Context.
      • DefaultContext

        public DefaultContext​(Map<Object,​Object> contextData)
        Create a Context with specified data. The specified data is copied into the context so any subsequent updates to supplied map are not reflected in this context. Additionally, changes to this context are not reflected in the specified map.
        Parameters:
        contextData - the containerContext data
    • Method Detail

      • contains

        public boolean contains​(Object key)
        Description copied from interface: Context
        Returns true if this context contains a value for the specified key.
        Specified by:
        contains in interface Context
        Parameters:
        key - the key to search
        Returns:
        true if the key was found; false otherwise
      • get

        public Object get​(Object key)
                   throws ContextException
        Description copied from interface: Context
        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 the value associated with the key
        Throws:
        ContextException - if the key doesn't exist
      • hide

        public void hide​(Object key)
                  throws IllegalStateException
        Description copied from interface: Context
        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 this context is read-only
      • getContextData

        public Map<Object,​Object> getContextData()
        Utility method to retrieve containerContext data
        Specified by:
        getContextData in interface Context
        Returns:
        the containerContext data
      • 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