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.