Package org.apache.commons.io.comparator
Class CompositeFileComparator
- java.lang.Object
-
- org.apache.commons.io.comparator.AbstractFileComparator
-
- org.apache.commons.io.comparator.CompositeFileComparator
-
- All Implemented Interfaces:
java.io.Serializable
,java.util.Comparator<java.io.File>
public class CompositeFileComparator extends AbstractFileComparator implements java.io.Serializable
Compare two files using a set of delegate fileComparator
.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( DirectoryFileComparator.DIRECTORY_COMPARATOR, NameFileComparator.NAME_COMPARATOR); List<File> list = ... comparator.sort(list);
- Since:
- 2.0
- Version:
- $Id: CompositeFileComparator.java 1304052 2012-03-22 20:55:29Z ggregory $
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.Comparator<java.io.File>[]
delegates
private static java.util.Comparator<?>[]
NO_COMPARATORS
-
Constructor Summary
Constructors Constructor Description CompositeFileComparator(java.lang.Iterable<java.util.Comparator<java.io.File>> delegates)
Create a composite comparator for the set of delegate comparators.CompositeFileComparator(java.util.Comparator<java.io.File>... delegates)
Create a composite comparator for the set of delegate comparators.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method 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.-
Methods inherited from class org.apache.commons.io.comparator.AbstractFileComparator
sort, sort
-
-
-
-
Constructor Detail
-
CompositeFileComparator
public CompositeFileComparator(java.util.Comparator<java.io.File>... delegates)
Create a composite comparator for the set of delegate comparators.- Parameters:
delegates
- The delegate file comparators
-
CompositeFileComparator
public CompositeFileComparator(java.lang.Iterable<java.util.Comparator<java.io.File>> delegates)
Create a composite comparator for the set of delegate comparators.- Parameters:
delegates
- The delegate file comparators
-
-
Method Detail
-
compare
public int compare(java.io.File file1, java.io.File file2)
Compare the two files using delegate comparators.- Specified by:
compare
in interfacejava.util.Comparator<java.io.File>
- Parameters:
file1
- The first file to comparefile2
- The second file to compare- Returns:
- the first non-zero result returned from the delegate comparators or zero.
-
toString
public java.lang.String toString()
String representation of this file comparator.- Overrides:
toString
in classAbstractFileComparator
- Returns:
- String representation of this file comparator
-
-