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]