org.apache.tools.ant.types.resources.selectors
Class Compare

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.selectors.Compare
All Implemented Interfaces:
java.lang.Cloneable, ResourceSelector

public class Compare
extends DataType
implements ResourceSelector

ResourceSelector that compares against "control" Resource(s) using ResourceComparators.

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
Compare()
           
 
Method Summary
 void add(ResourceComparator c)
          Add a ResourceComparator to this Compare selector.
 ResourceCollection createControl()
          Create the nested control element.
protected  void dieOnCircularReference(java.util.Stack<java.lang.Object> stk, Project p)
          Overrides the version from DataType to recurse on nested ResourceComparators.
 boolean isSelected(Resource r)
          Return true if this Resource is selected.
 void setAgainst(Quantifier against)
          Set the quantifier to be used.
 void setWhen(Comparison when)
          Set the comparison to be used.
 
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
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Compare

public Compare()
Method Detail

add

public void add(ResourceComparator c)
Add a ResourceComparator to this Compare selector. If multiple ResourceComparators are added, they will be processed in LIFO order.

Parameters:
c - the ResourceComparator to add.

setAgainst

public void setAgainst(Quantifier against)
Set the quantifier to be used. Default "all".

Parameters:
against - the Quantifier EnumeratedAttribute to use.

setWhen

public void setWhen(Comparison when)
Set the comparison to be used. Default "equal".

Parameters:
when - the Comparison EnumeratedAttribute to use.

createControl

public ResourceCollection createControl()
Create the nested control element. These are the resources to compare against.

Returns:
ResourceCollection.

isSelected

public boolean isSelected(Resource r)
Return true if this Resource is selected.

Specified by:
isSelected in interface ResourceSelector
Parameters:
r - the Resource to check.
Returns:
whether the Resource was selected.

dieOnCircularReference

protected void dieOnCircularReference(java.util.Stack<java.lang.Object> stk,
                                      Project p)
                               throws BuildException
Overrides the version from DataType to recurse on nested ResourceComparators.

Overrides:
dieOnCircularReference in class DataType
Parameters:
stk - the stack of data types to use (recursively).
p - the project to use to dereference the references.
Throws:
BuildException - on error.