org.apache.commons.io.comparator
Class DirectoryFileComparator

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

public class DirectoryFileComparator
extends AbstractFileComparator
implements java.io.Serializable

Compare two files using the File.isDirectory() method.

This comparator can be used to sort lists or arrays by directories and files.

Example of sorting a list of files/directories using the DIRECTORY_COMPARATOR singleton instance:

       List<File> list = ...
       DirectoryFileComparator.DIRECTORY_COMPARATOR.sort(list);
 

Example of doing a reverse sort of an array of files/directories using the DIRECTORY_REVERSE singleton instance:

       File[] array = ...
       DirectoryFileComparator.DIRECTORY_REVERSE.sort(array);
 

Since:
Commons IO 2.0
Version:
$Revision$ $Date$
See Also:
Serialized Form

Field Summary
static java.util.Comparator<java.io.File> DIRECTORY_COMPARATOR
          Singleton default comparator instance
static java.util.Comparator<java.io.File> DIRECTORY_REVERSE
          Singleton reverse default comparator instance
 
Constructor Summary
DirectoryFileComparator()
           
 
Method Summary
 int compare(java.io.File file1, java.io.File file2)
          Compare the two files using the File.isDirectory() method.
private  int getType(java.io.File file)
          Convert type to numeric value.
 
Methods inherited from class org.apache.commons.io.comparator.AbstractFileComparator
sort, sort, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.util.Comparator
equals
 

Field Detail

DIRECTORY_COMPARATOR

public static final java.util.Comparator<java.io.File> DIRECTORY_COMPARATOR
Singleton default comparator instance


DIRECTORY_REVERSE

public static final java.util.Comparator<java.io.File> DIRECTORY_REVERSE
Singleton reverse default comparator instance

Constructor Detail

DirectoryFileComparator

public DirectoryFileComparator()
Method Detail

compare

public int compare(java.io.File file1,
                   java.io.File file2)
Compare the two files using the File.isDirectory() method.

Specified by:
compare in interface java.util.Comparator<java.io.File>
Parameters:
file1 - The first file to compare
file2 - The second file to compare
Returns:
the result of calling file1's File.compareTo(File) with file2 as the parameter.

getType

private int getType(java.io.File file)
Convert type to numeric value.

Parameters:
file - The file
Returns:
1 for directories and 2 for files


Copyright (c) 2002-2011 Apache Software Foundation