public class CompositeFileComparator extends AbstractFileComparator implements java.io.Serializable
Comparator
.
This comparator can be used to sort lists or arrays of files by combining a number other comparators.
Example of sorting a list of files by type (i.e. directory or file) and then by name:
CompositeFileComparator comparator = new CompositeFileComparator( (AbstractFileComparator) DirectoryFileComparator.DIRECTORY_COMPARATOR, (AbstractFileComparator) NameFileComparator.NAME_COMPARATOR); List<File> list = ... comparator.sort(list);
Modifier and Type | Field and Description |
---|---|
private java.util.Comparator<java.io.File>[] |
delegates |
private static java.util.Comparator<?>[] |
NO_COMPARATORS |
private static long |
serialVersionUID |
Constructor and Description |
---|
CompositeFileComparator(java.util.Comparator<java.io.File>... delegates)
Create a composite comparator for the set of delegate comparators.
|
CompositeFileComparator(java.lang.Iterable<java.util.Comparator<java.io.File>> delegates)
Create a composite comparator for the set of delegate comparators.
|
Modifier and Type | Method and Description |
---|---|
int |
compare(java.io.File file1,
java.io.File file2)
Compare the two files using delegate comparators.
|
java.lang.String |
toString()
String representation of this file comparator.
|
sort, sort
private static final long serialVersionUID
private static final java.util.Comparator<?>[] NO_COMPARATORS
private final java.util.Comparator<java.io.File>[] delegates
public CompositeFileComparator(java.util.Comparator<java.io.File>... delegates)
delegates
- The delegate file comparatorspublic CompositeFileComparator(java.lang.Iterable<java.util.Comparator<java.io.File>> delegates)
delegates
- The delegate file comparatorspublic int compare(java.io.File file1, java.io.File file2)
compare
in interface java.util.Comparator<java.io.File>
file1
- The first file to comparefile2
- The second file to comparepublic java.lang.String toString()
toString
in class AbstractFileComparator