org.apache.tools.ant.types.resources

## Class Sort

- java.lang.Object
- - org.apache.tools.ant.ProjectComponent
  - - org.apache.tools.ant.types.DataType
    - - org.apache.tools.ant.types.resources.AbstractResourceCollectionWrapper
      - - org.apache.tools.ant.types.resources.BaseResourceCollectionWrapper
        - - 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

Constructors
Constructor and Description
`Sort()`

### Method Summary

All Methods Instance Methods Concrete Methods
`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`

### Methods inherited from interface java.lang.Iterable

`forEach, spliterator`

### 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.