org.apache.tools.ant.types.resources.comparators
Class DelegatedResourceComparator

java.lang.Object
  extended by org.apache.tools.ant.ProjectComponent
      extended by org.apache.tools.ant.types.DataType
          extended by org.apache.tools.ant.types.resources.comparators.ResourceComparator
              extended by org.apache.tools.ant.types.resources.comparators.DelegatedResourceComparator
All Implemented Interfaces:
java.lang.Cloneable, java.util.Comparator

public class DelegatedResourceComparator
extends ResourceComparator

Delegates to other ResourceComparators or, if none specified, uses Resources' natural ordering.

Since:
Ant 1.7

Field Summary
 
Fields inherited from class org.apache.tools.ant.types.DataType
checked, ref
 
Fields inherited from class org.apache.tools.ant.ProjectComponent
description, location, project
 
Constructor Summary
DelegatedResourceComparator()
           
 
Method Summary
 void add(ResourceComparator c)
          Add a delegate ResourceComparator.
protected  void dieOnCircularReference(java.util.Stack stk, Project p)
          Overrides the version from DataType to recurse on nested ResourceSelector s.
 boolean equals(java.lang.Object o)
          Equality method based on the vector of resources, or if a reference, the referredto object.
 int hashCode()
          Hashcode based on the rules for equality.
protected  int resourceCompare(Resource foo, Resource bar)
          Compare two Resources.
 
Methods inherited from class org.apache.tools.ant.types.resources.comparators.ResourceComparator
compare
 
Methods inherited from class org.apache.tools.ant.types.DataType
checkAttributesAllowed, checkChildrenAllowed, circularReference, clone, dieOnCircularReference, dieOnCircularReference, getCheckedRef, getCheckedRef, getCheckedRef, getCheckedRef, getDataTypeName, getRefid, invokeCircularReferenceCheck, isChecked, isReference, noChildrenAllowed, setChecked, setRefid, tooManyAttributes, toString
 
Methods inherited from class org.apache.tools.ant.ProjectComponent
getDescription, getLocation, getProject, log, log, setDescription, setLocation, setProject
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

DelegatedResourceComparator

public DelegatedResourceComparator()
Method Detail

add

public void add(ResourceComparator c)
Add a delegate ResourceComparator.

Parameters:
c - the next delegate ResourceComparator.

equals

public boolean equals(java.lang.Object o)
Equality method based on the vector of resources, or if a reference, the referredto object.

Specified by:
equals in interface java.util.Comparator
Overrides:
equals in class ResourceComparator
Parameters:
o - the object to check against.
Returns:
true if there is equality.

hashCode

public int hashCode()
Hashcode based on the rules for equality.

Overrides:
hashCode in class ResourceComparator
Returns:
a hashcode.

resourceCompare

protected int resourceCompare(Resource foo,
                              Resource bar)
Compare two Resources.

Specified by:
resourceCompare in class ResourceComparator
Parameters:
foo - the first Resource.
bar - the second Resource.
Returns:
a negative integer, zero, or a positive integer as the first argument is less than, equal to, or greater than the second.

dieOnCircularReference

protected void dieOnCircularReference(java.util.Stack stk,
                                      Project p)
                               throws BuildException
Overrides the version from DataType to recurse on nested ResourceSelector s.

Overrides:
dieOnCircularReference in class DataType
Parameters:
stk - the Stack of references.
p - the Project to resolve against.
Throws:
BuildException - on error.