donaldp     01/04/18 05:35:09

  Added:       src/java/org/apache/avalon/context Context.java
                        Contextualizable.java DefaultContext.java
                        Recontextualizable.java Resolvable.java
  Log:
  Migrate context related cut to context sub-package
  
  Revision  Changes    Path
  1.1                  jakarta-avalon/src/java/org/apache/avalon/context/Context.java
  
  Index: Context.java
  ===================================================================
  /*
   * Copyright (C) The Apache Software Foundation. All rights reserved.
   *
   * This software is published under the terms of the Apache Software License
   * version 1.1, a copy of which has been included with this distribution in
   * the LICENSE file.
   */
  package org.apache.avalon.context;
  
  /**
   *
   * @author <a href="mailto:[EMAIL PROTECTED]">Federico Barbieri</a>
   * @author <a href="mailto:[EMAIL PROTECTED]">Pierpaolo Fumagalli</a>
   * @author <a href="mailto:[EMAIL PROTECTED]">Stefano Mazzocchi</a>
   */
  public interface Context
  {
      Object get( Object key );
  }
  
  
  
  1.1                  
jakarta-avalon/src/java/org/apache/avalon/context/Contextualizable.java
  
  Index: Contextualizable.java
  ===================================================================
  /*
   * Copyright (C) The Apache Software Foundation. All rights reserved.
   *
   * This software is published under the terms of the Apache Software License
   * version 1.1, a copy of which has been included with this distribution in
   * the LICENSE file.
   */
  package org.apache.avalon.context;
  
  /**
   * This inteface should be implemented by classes that need
   * a Context to work. Context contains runtime generated object
   * provided by the parent to this class.
   *
   * @author <a href="mailto:[EMAIL PROTECTED]">Federico Barbieri</a>
   * @author <a href="mailto:[EMAIL PROTECTED]">Pierpaolo Fumagalli</a>
   * @author <a href="mailto:[EMAIL PROTECTED]">Stefano Mazzocchi</a>
   */
  public interface Contextualizable
  {
      /**
       * Pass the Context to the contextualizable class. This method
       * is always called after the constructor and, if present,
       * after configure but before any other method.
       *
       */
      void contextualize( Context context );
  }
  
  
  
  1.1                  
jakarta-avalon/src/java/org/apache/avalon/context/DefaultContext.java
  
  Index: DefaultContext.java
  ===================================================================
  /*
   * Copyright (C) The Apache Software Foundation. All rights reserved.
   *
   * This software is published under the terms of the Apache Software License
   * version 1.1, a copy of which has been included with this distribution in
   * the LICENSE file.
   */
  package org.apache.avalon.context;
  
  import java.util.Hashtable;
  import java.util.Map;
  
  /**
   * Default implementation of Context.
   * This implementation is a static hierarchial store.
   *
   * @author <a href="mailto:[EMAIL PROTECTED]">Federico Barbieri</a>
   * @author <a href="mailto:[EMAIL PROTECTED]">Pierpaolo Fumagalli</a>
   * @author <a href="mailto:[EMAIL PROTECTED]">Stefano Mazzocchi</a>
   * @author <a href="mailto:[EMAIL PROTECTED]">Peter Donald</a>
   */
  public class DefaultContext
      implements Context
  {
      protected final Map                       m_contextData;
      protected final Context                   m_parent;
  
      public DefaultContext( final Map contextData, final Context parent )
      {
          m_parent = parent;
          m_contextData = contextData;
      }
  
      public DefaultContext( final Map contextData )
      {
          this( contextData, null );
      }
  
      public DefaultContext( final Context parent )
      {
          this( new Hashtable(), parent );
      }
  
      public DefaultContext()
      {
          this( (Context)null );
      }
  
      public Object get( final Object key )
      {
          final Object data = m_contextData.get( key );
  
          if( null == m_parent || null != data )
          {
              return data;
          }
  
          return m_parent.get( key );
      }
  
      public void put( final Object key, final Object value )
      {
          m_contextData.put( key, value );
      }
  }
  
  
  
  1.1                  
jakarta-avalon/src/java/org/apache/avalon/context/Recontextualizable.java
  
  Index: Recontextualizable.java
  ===================================================================
  /*
   * Copyright (C) The Apache Software Foundation. All rights reserved.
   *
   * This software is published under the terms of the Apache Software License
   * version 1.1, a copy of which has been included with this distribution in
   * the LICENSE file.
   */
  package org.apache.avalon.context;
  
  /**
   * Extends composer to allow recontextualizing.
   *
   * @author <a href="mailto:[EMAIL PROTECTED]">Peter Donald</a>
   */
  public interface Recontextualizable
      extends Contextualizable
  {
      void recontextualizable( Context context ) ;
  }
  
  
  
  1.1                  
jakarta-avalon/src/java/org/apache/avalon/context/Resolvable.java
  
  Index: Resolvable.java
  ===================================================================
  /*
   * Copyright (C) The Apache Software Foundation. All rights reserved.
   *
   * This software is published under the terms of the Apache Software License
   * version 1.1, a copy of which has been included with this distribution in
   * the LICENSE file.
   */
  package org.apache.avalon.context;
  
  /**
   * This interface is used to indicate objects that need to be
   * resolved in some particular context.
   *
   * @author <a href="mailto:[EMAIL PROTECTED]">Peter Donald</a>
   */
  public interface Resolvable
  {
      /**
       * Resolve a object to a value.
       *
       * @param context the contextwith respect which to resolve
       * @return the resolved object
       */
      Object resolve( Context context );
  }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to