Author: mbenson
Date: Tue Oct 10 09:53:18 2006
New Revision: 454824

URL: http://svn.apache.org/viewvc?view=rev&rev=454824
Log:
extend DataType, equals non-final

Modified:
    
ant/core/trunk/src/main/org/apache/tools/ant/types/resources/comparators/ResourceComparator.java

Modified: 
ant/core/trunk/src/main/org/apache/tools/ant/types/resources/comparators/ResourceComparator.java
URL: 
http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/types/resources/comparators/ResourceComparator.java?view=diff&rev=454824&r1=454823&r2=454824
==============================================================================
--- 
ant/core/trunk/src/main/org/apache/tools/ant/types/resources/comparators/ResourceComparator.java
 (original)
+++ 
ant/core/trunk/src/main/org/apache/tools/ant/types/resources/comparators/ResourceComparator.java
 Tue Oct 10 09:53:18 2006
@@ -19,13 +19,14 @@
 
 import java.util.Comparator;
 
+import org.apache.tools.ant.types.DataType;
 import org.apache.tools.ant.types.Resource;
 
 /**
  * Abstract Resource Comparator.
  * @since Ant 1.7
  */
-public abstract class ResourceComparator implements Comparator {
+public abstract class ResourceComparator extends DataType implements 
Comparator {
 
     /**
      * Compare two objects.
@@ -36,7 +37,10 @@
      * @throws ClassCastException if either argument is null.
      */
     public final int compare(Object foo, Object bar) {
-        return resourceCompare((Resource) foo, (Resource) bar);
+        dieOnCircularReference();
+        ResourceComparator c =
+            isReference() ? (ResourceComparator) getCheckedRef() : this;
+        return c.resourceCompare((Resource) foo, (Resource) bar);
     }
 
     /**
@@ -44,7 +48,10 @@
      * @param o the Object to compare against.
      * @return true if the specified Object equals this one.
      */
-    public final boolean equals(Object o) {
+    public boolean equals(Object o) {
+        if (isReference()) {
+            return getCheckedRef().equals(o);
+        }
         if (o == null) {
             return false;
         }



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

Reply via email to