org.apache.tools.ant.types.resources
Class Sort

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.AbstractResourceCollectionWrapper
              extended by org.apache.tools.ant.types.resources.BaseResourceCollectionWrapper
                  extended by org.apache.tools.ant.types.resources.Sort
All Implemented Interfaces:
java.lang.Cloneable, java.lang.Iterable<Resource>, ResourceCollection

public class Sort
extends BaseResourceCollectionWrapper

ResourceCollection that sorts another ResourceCollection. Note that Sort must not be used in cases where the ordering of the objects being sorted might change during the sorting process.

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
Sort()
           
 
Method Summary
 void add(ResourceComparator c)
          Add a ResourceComparator to this Sort ResourceCollection.
protected  void dieOnCircularReference(java.util.Stack<java.lang.Object> stk, Project p)
          Overrides the BaseResourceCollectionContainer version to recurse on nested ResourceComparators.
protected  java.util.Collection<Resource> getCollection()
          Sort the contained elements.
 
Methods inherited from class org.apache.tools.ant.types.resources.BaseResourceCollectionWrapper
createIterator, getSize
 
Methods inherited from class org.apache.tools.ant.types.resources.AbstractResourceCollectionWrapper
add, getResourceCollection, isCache, isFilesystemOnly, iterator, setCache, size, toString
 
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
 
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

Sort

public Sort()
Method Detail

getCollection

protected java.util.Collection<Resource> getCollection()
Sort the contained elements.

Specified by:
getCollection in class BaseResourceCollectionWrapper
Returns:
a Collection of Resources.

add

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

Parameters:
c - the ResourceComparator to add.

dieOnCircularReference

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

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