Package 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:
  `Cloneable`, `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
Description
`Sort()`

## Method Summary

Modifier and Type
Method
Description
`void`
`add(ResourceComparator c)`
Add a ResourceComparator to this Sort ResourceCollection.
`protected void`
`dieOnCircularReference(Stack<Object> stk, Project p)`
Overrides the BaseResourceCollectionContainer version to recurse on nested ResourceComparators.
`protected 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, 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`

### Methods inherited from interface org.apache.tools.ant.types.ResourceCollection

`isEmpty, stream`

## Constructor Details

### Sort

public Sort()

## Method Details

### getCollection

protected 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(Stack<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.