Class CompositeFileComparator

java.lang.Object
org.apache.commons.io.comparator.AbstractFileComparator
org.apache.commons.io.comparator.CompositeFileComparator
All Implemented Interfaces:
Serializable, Comparator<File>

public class CompositeFileComparator extends AbstractFileComparator implements Serializable
Compare two files using a set of delegate file Comparator.

This comparator can be used to sort lists or arrays of files by combining a number of other comparators.

Example of sorting a list of files by type (i.e. directory or file) and then by name:

       CompositeFileComparator comparator = new CompositeFileComparator(
           DirectoryFileComparator.DIRECTORY_COMPARATOR,
           NameFileComparator.NAME_COMPARATOR);
       List<File> list = ...
       comparator.sort(list);
 

Deprecating Serialization

Serialization is deprecated and will be removed in 3.0.

Since:
2.0
See Also:
  • Field Details

    • EMPTY_COMPARATOR_ARRAY

      private static final Comparator<?>[] EMPTY_COMPARATOR_ARRAY
    • serialVersionUID

      private static final long serialVersionUID
      See Also:
    • delegates

      private final Comparator<File>[] delegates
      Delegates.
  • Constructor Details

    • CompositeFileComparator

      public CompositeFileComparator(Comparator<File>... delegates)
      Constructs a composite comparator for the set of delegate comparators.
      Parameters:
      delegates - The delegate file comparators
    • CompositeFileComparator

      public CompositeFileComparator(Iterable<Comparator<File>> delegates)
      Constructs a composite comparator for the set of delegate comparators.
      Parameters:
      delegates - The delegate file comparators
  • Method Details

    • compare

      public int compare(File file1, File file2)
      Compares the two files using delegate comparators.
      Specified by:
      compare in interface Comparator<File>
      Parameters:
      file1 - The first file to compare
      file2 - The second file to compare
      Returns:
      the first non-zero result returned from the delegate comparators or zero.
    • emptyArray

      private Comparator<File>[] emptyArray()
    • toString

      public String toString()
      String representation of this file comparator.
      Overrides:
      toString in class AbstractFileComparator
      Returns:
      String representation of this file comparator