dlr         01/05/19 19:38:52

  Modified:    src/java/org/apache/turbine/util SequencedHashtable.java
  Log:
  * Don't reference super when calling get(Object) in getValue()
  instance method so that get() can be overridden in BufferCache.
  
  * Factored out sequence freshening from put(Object, Object) instance
  method for use in subclasses.
  
  Revision  Changes    Path
  1.4       +17 -4     
jakarta-turbine/src/java/org/apache/turbine/util/SequencedHashtable.java
  
  Index: SequencedHashtable.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-turbine/src/java/org/apache/turbine/util/SequencedHashtable.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- SequencedHashtable.java   2001/05/05 03:19:17     1.3
  +++ SequencedHashtable.java   2001/05/20 02:38:52     1.4
  @@ -73,7 +73,7 @@
    * the use of a list of <code>Map.Entry</code> objects.
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Daniel Rall</a>
  - * @version $Id: SequencedHashtable.java,v 1.3 2001/05/05 03:19:17 jvanzyl Exp $
  + * @version $Id: SequencedHashtable.java,v 1.4 2001/05/20 02:38:52 dlr Exp $
    */
   public class SequencedHashtable extends Hashtable
   {
  @@ -143,7 +143,7 @@
        */
       public Object getValue (int index)
       {
  -        return super.get(get(index));
  +        return get(get(index));
       }
   
       /**
  @@ -182,13 +182,26 @@
       public synchronized Object put (Object key, Object value)
       {
           Object prevValue = super.put(key, value);
  -        if (prevValue != null)
  +        freshenSequence(key, prevValue);
  +        return prevValue;
  +    }
  +
  +    /**
  +     * Freshens the sequence of the element <code>value</code> if
  +     * <code>value</code> is not <code>null</code>.
  +     *
  +     * @param key   The key whose sequence to freshen.
  +     * @param value The value whose existance to check before removing the old
  +     *              key sequence.
  +     */
  +    protected void freshenSequence(Object key, Object value)
  +    {
  +        if (value != null)
           {
               // Freshening existing element's sequence.
               keySequence.remove(key);
           }
           keySequence.add(key);
  -        return prevValue;
       }
   
       /**
  
  
  

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

Reply via email to