Kevin Jackson wrote:
Inline patch as gmail seems to not like .patch attachments today:
This is almost like what I have done, except I kept WeakishReference
abstract, and had WeakReference12 extend HardReference. That way the
base class remains abstract.
-steve
Index: org/apache/tools/ant/util/WeakishReference.java
===================================================================
--- org/apache/tools/ant/util/WeakishReference.java (revision 453080)
+++ org/apache/tools/ant/util/WeakishReference.java (working copy)
@@ -18,7 +18,7 @@
package org.apache.tools.ant.util;
-import org.apache.tools.ant.util.optional.WeakishReference12;
+import java.lang.ref.WeakReference;
/**
* This is a weak reference on java1.2 and up, that is all
@@ -27,8 +27,10 @@
* @deprecated since 1.7.
* Just use [EMAIL PROTECTED] java.lang.ref.WeakReference} directly.
*/
-public abstract class WeakishReference {
+public class WeakishReference {
+ private WeakReference weakref;
+
/**
* create the appropriate type of reference for the java version
* @param object the object that the reference will refer to.
@@ -35,17 +37,23 @@
* @return reference to the Object.
*/
public static WeakishReference createReference(Object object) {
- return new WeakishReference12(object);
+ return new WeakishReference(object);
}
+ public WeakishReference(Object reference) {
+ this.weakref = new WeakReference(reference);
+ }
+
+ public WeakishReference() {/* default */}
+
/**
- * Returns this reference object's referent. If this reference
object has
- * been cleared, then this method returns <code>null</code>.
+ * Returns this reference object's referent.
*
- * @return The object to which this reference refers, or
- * <code>null</code> if this reference object has been
cleared.
+ * @return referent.
*/
- public abstract Object get();
+ public Object get() {
+ return weakref.get();
+ }
/**
* A hard reference for Java 1.1.
@@ -53,7 +61,6 @@
* Hopefully nobody is using this.
*/
public static class HardReference extends WeakishReference {
- private Object object;
/**
* constructor.
@@ -60,7 +67,7 @@
* @param object the object that the reference will refer to.
*/
public HardReference(Object object) {
- this.object = object;
+ super(object);
}
/**
@@ -68,8 +75,7 @@
* @return the object to which this reference refers.
*/
public Object get() {
- return object;
+ return super.get();
}
}
-
-}
+}
\ No newline at end of file
Index: org/apache/tools/ant/util/optional/WeakishReference12.java
===================================================================
--- org/apache/tools/ant/util/optional/WeakishReference12.java
(revision 453080)
+++ org/apache/tools/ant/util/optional/WeakishReference12.java
(working copy)
@@ -20,8 +20,6 @@
import org.apache.tools.ant.util.WeakishReference;
-import java.lang.ref.WeakReference;
-
/**
* This is a reference that really is is Weak, as it uses the
* appropriate java.lang.ref class.
@@ -30,25 +28,4 @@
*/
public class WeakishReference12 extends WeakishReference {
- private WeakReference weakref;
-
- /**
- * create a new soft reference, which is bound to a
- * Weak reference inside
- * @param reference
- * @see java.lang.ref.WeakReference
- */
- public WeakishReference12(Object reference) {
- this.weakref = new WeakReference(reference);
- }
-
- /**
- * Returns this reference object's referent.
- *
- * @return referent.
- */
- public Object get() {
- return weakref.get();
- }
-
-}
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]