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

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.Reverse
All Implemented Interfaces:
java.lang.Cloneable, java.util.Comparator<Resource>

public class Reverse
extends ResourceComparator

Reverses another ResourceComparator. If no nested ResourceComparator is supplied, the compared Resources' natural order will be reversed.

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
Reverse()
          Default constructor.
Reverse(ResourceComparator c)
          Construct a new Reverse, supplying the ResourceComparator to be reversed.
 
Method Summary
 void add(ResourceComparator c)
          Add the ResourceComparator to reverse.
protected  void dieOnCircularReference(java.util.Stack<java.lang.Object> stk, Project p)
          Check to see whether any DataType we hold references to is included in the Stack (which holds all DataType instances that directly or indirectly reference this instance, including this instance itself).
protected  int resourceCompare(Resource foo, Resource bar)
          Compare two Resources.
 
Methods inherited from class org.apache.tools.ant.types.resources.comparators.ResourceComparator
compare, equals, hashCode
 
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, pushAndInvokeCircularReferenceCheck, 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

Reverse

public Reverse()
Default constructor.


Reverse

public Reverse(ResourceComparator c)
Construct a new Reverse, supplying the ResourceComparator to be reversed.

Parameters:
c - the ResourceComparator to reverse.
Method Detail

add

public void add(ResourceComparator c)
Add the ResourceComparator to reverse.

Parameters:
c - the ResourceComparator to add.

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 greater than, equal to, or less than the second.

dieOnCircularReference

protected void dieOnCircularReference(java.util.Stack<java.lang.Object> stk,
                                      Project p)
                               throws BuildException
Description copied from class: DataType
Check to see whether any DataType we hold references to is included in the Stack (which holds all DataType instances that directly or indirectly reference this instance, including this instance itself).

If one is included, throw a BuildException created by circularReference.

This implementation is appropriate only for a DataType that cannot hold other DataTypes as children.

The general contract of this method is that it shouldn't do anything if checked is true and set it to true on exit.

Overrides:
dieOnCircularReference in class DataType
Parameters:
stk - the stack of references to check.
p - the project to use to dereference the references.
Throws:
BuildException - on error.