org.apache.commons.collections.comparators
Class BooleanComparator

java.lang.Object
  extended by org.apache.commons.collections.comparators.BooleanComparator
All Implemented Interfaces:
Serializable, Comparator<Boolean>

public final class BooleanComparator
extends Object
implements Comparator<Boolean>, Serializable

A Comparator for Boolean objects that can sort either true or false first.

Since:
Commons Collections 3.0
Version:
$Revision: 1.1.1.1 $ $Date: 2005/05/23 04:34:06 $
Author:
Matt Hall, John Watkinson, Rodney Waldhoff
See Also:
getTrueFirstComparator(), getFalseFirstComparator(), getBooleanComparator(boolean), Serialized Form

Constructor Summary
BooleanComparator()
          Creates a BooleanComparator that sorts false values before true values.
BooleanComparator(boolean trueFirst)
          Creates a BooleanComparator that sorts trueFirst values before !trueFirst values.
 
Method Summary
 int compare(Boolean b1, Boolean b2)
          Compares two non-null Boolean objects according to the value of trueFirst.
 boolean equals(Object object)
          Returns true iff that Object is is a Comparator whose ordering is known to be equivalent to mine.
static BooleanComparator getBooleanComparator(boolean trueFirst)
          Returns a BooleanComparator instance that sorts trueFirst values before !trueFirst values.
static BooleanComparator getFalseFirstComparator()
          Returns a BooleanComparator instance that sorts false values before true values.
static BooleanComparator getTrueFirstComparator()
          Returns a BooleanComparator instance that sorts true values before false values.
 int hashCode()
          Implement a hash code for this comparator that is consistent with equals.
 boolean sortsTrueFirst()
          Returns true iff I sort true values before false values.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BooleanComparator

public BooleanComparator()
Creates a BooleanComparator that sorts false values before true values.

Equivalent to BooleanComparator(false).

Please use the static factory instead whenever possible.


BooleanComparator

public BooleanComparator(boolean trueFirst)
Creates a BooleanComparator that sorts trueFirst values before !trueFirst values.

Please use the static factories instead whenever possible.

Parameters:
trueFirst - when true, sort true boolean values before false
Method Detail

getTrueFirstComparator

public static BooleanComparator getTrueFirstComparator()
Returns a BooleanComparator instance that sorts true values before false values.

Clients are encouraged to use the value returned from this method instead of constructing a new instance to reduce allocation and garbage collection overhead when multiple BooleanComparators may be used in the same virtual machine.

Returns:
the true first singleton BooleanComparator

getFalseFirstComparator

public static BooleanComparator getFalseFirstComparator()
Returns a BooleanComparator instance that sorts false values before true values.

Clients are encouraged to use the value returned from this method instead of constructing a new instance to reduce allocation and garbage collection overhead when multiple BooleanComparators may be used in the same virtual machine.

Returns:
the false first singleton BooleanComparator

getBooleanComparator

public static BooleanComparator getBooleanComparator(boolean trueFirst)
Returns a BooleanComparator instance that sorts trueFirst values before !trueFirst values.

Clients are encouraged to use the value returned from this method instead of constructing a new instance to reduce allocation and garbage collection overhead when multiple BooleanComparators may be used in the same virtual machine.

Parameters:
trueFirst - when true, sort true Booleans before false
Returns:
a singleton BooleanComparator instance

compare

public int compare(Boolean b1,
                   Boolean b2)
Compares two non-null Boolean objects according to the value of trueFirst.

Specified by:
compare in interface Comparator<Boolean>
Parameters:
b1 - the first boolean to compare
b2 - the second boolean to compare
Returns:
negative if obj1 is less, positive if greater, zero if equal
Throws:
NullPointerException - when either argument null

hashCode

public int hashCode()
Implement a hash code for this comparator that is consistent with equals.

Overrides:
hashCode in class Object
Returns:
a hash code for this comparator.

equals

public boolean equals(Object object)
Returns true iff that Object is is a Comparator whose ordering is known to be equivalent to mine.

This implementation returns true iff that is a BooleanComparator whose trueFirst value is equal to mine.

Specified by:
equals in interface Comparator<Boolean>
Overrides:
equals in class Object
Parameters:
object - the object to compare to
Returns:
true if equal

sortsTrueFirst

public boolean sortsTrueFirst()
Returns true iff I sort true values before false values. In other words, returns true iff compare(Boolean.FALSE,Boolean.TRUE) returns a positive value.

Returns:
the trueFirst flag


Copyright © 2005-2005 Apache Software Foundation, Matt Hall, John Watkinson. All Rights Reserved.