Browse Source

extend DataType, equals non-final

git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@454824 13f79535-47bb-0310-9956-ffa450edef68
master
Matthew Jason Benson 18 years ago
parent
commit
76a6b5c4c9
1 changed files with 10 additions and 3 deletions
  1. +10
    -3
      src/main/org/apache/tools/ant/types/resources/comparators/ResourceComparator.java

+ 10
- 3
src/main/org/apache/tools/ant/types/resources/comparators/ResourceComparator.java View File

@@ -19,13 +19,14 @@ package org.apache.tools.ant.types.resources.comparators;

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 @@ public abstract class ResourceComparator implements Comparator {
* @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 @@ public abstract class ResourceComparator implements Comparator {
* @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;
}


Loading…
Cancel
Save