org.apache.commons.collections.comparators
Class BooleanComparator

java.lang.Object
  extended byorg.apache.commons.collections.comparators.BooleanComparator
All Implemented Interfaces:
Comparator, Serializable

public final class BooleanComparator
extends Object
implements Comparator, Serializable

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

Since:
Commons Collections 3.0
Version:
$Revision: 1.14 $ $Date: 2004/05/16 11:56:47 $
Author:
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.
 int compare(Object obj1, Object obj2)
          Compares two arbitrary Objects.
 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(Object obj1,
                   Object obj2)
Compares two arbitrary Objects. When both arguments are Boolean, this method is equivalent to compare((Boolean)obj1,(Boolean)obj2). When either argument is not a Boolean, this methods throws a ClassCastException.

Specified by:
compare in interface Comparator
Parameters:
obj1 - the first object to compare
obj2 - the second object to compare
Returns:
negative if obj1 is less, positive if greater, zero if equal
Throws:
ClassCastException - when either argument is not Boolean

compare

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

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.

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
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 © 2001-2005 Apache Software Foundation. All Rights Reserved.