com.mucommander.file.util
Class FileComparator

java.lang.Object
  extended by com.mucommander.file.util.FileComparator
All Implemented Interfaces:
java.util.Comparator

public class FileComparator
extends java.lang.Object
implements java.util.Comparator

FileComparator compares AbstractFile instances using a comparison criterion order (ascending or descending). Directories can either be mixed with regular files (compared just as regular files), or always precede regular files.

FileComparator extends Comparator and thus can be used wherever a Comparator is accepted. In particular, it can be used with java.util.Arrays sort methods to easily sort an array of files.

The following criteria are available:

Author:
Maxence Bernard

Field Summary
static int DATE_CRITERION
          Criterion for file date comparison.
static int EXTENSION_CRITERION
          Criterion for file extension comparison.
static int GROUP_CRITERION
          Criterion for group comparison.
static int NAME_CRITERION
          Criterion for filename comparison.
static int OWNER_CRITERION
          Criterion for owner comparison.
static int PERMISSIONS_CRITERION
          Criterion for file permissions comparison.
static int SIZE_CRITERION
          Criterion for file size comparison.
 
Constructor Summary
FileComparator(int criterion, boolean ascending, boolean directoriesFirst)
          Creates a new FileComparator using the specified comparison criterion, order (ascending or descending) and directory handling rule.
 
Method Summary
 int compare(java.lang.Object o1, java.lang.Object o2)
           
 boolean equals(java.lang.Object o)
          Returns true only if the given object is a FileComparator using the same criterion and ascending/descending order.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

NAME_CRITERION

public static final int NAME_CRITERION
Criterion for filename comparison.

See Also:
Constant Field Values

SIZE_CRITERION

public static final int SIZE_CRITERION
Criterion for file size comparison.

See Also:
Constant Field Values

DATE_CRITERION

public static final int DATE_CRITERION
Criterion for file date comparison.

See Also:
Constant Field Values

EXTENSION_CRITERION

public static final int EXTENSION_CRITERION
Criterion for file extension comparison.

See Also:
Constant Field Values

PERMISSIONS_CRITERION

public static final int PERMISSIONS_CRITERION
Criterion for file permissions comparison.

See Also:
Constant Field Values

OWNER_CRITERION

public static final int OWNER_CRITERION
Criterion for owner comparison.

See Also:
Constant Field Values

GROUP_CRITERION

public static final int GROUP_CRITERION
Criterion for group comparison.

See Also:
Constant Field Values
Constructor Detail

FileComparator

public FileComparator(int criterion,
                      boolean ascending,
                      boolean directoriesFirst)
Creates a new FileComparator using the specified comparison criterion, order (ascending or descending) and directory handling rule.

Parameters:
criterion - comparison criterion, see constant fields
ascending - if true, ascending order will be used, descending order otherwise
directoriesFirst - specifies whether directories should precede files or be handled as regular files
Method Detail

compare

public int compare(java.lang.Object o1,
                   java.lang.Object o2)
Specified by:
compare in interface java.util.Comparator

equals

public boolean equals(java.lang.Object o)
Returns true only if the given object is a FileComparator using the same criterion and ascending/descending order.

Specified by:
equals in interface java.util.Comparator
Overrides:
equals in class java.lang.Object


This file is part of muCommander - Copyright (C) 2002-2008 Maxence Bernard