org.apache.commons.collections.comparators
Class BooleanComparator

java.lang.Object
  extended by org.apache.commons.collections.comparators.BooleanComparator
All Implemented Interfaces:
java.io.Serializable, java.util.Comparator

public final class BooleanComparator
extends java.lang.Object
implements java.util.Comparator, java.io.Serializable

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

Since:
Commons Collections 3.0
Version:
$Revision: 646777 $ $Date: 2008-04-10 13:33:15 +0100 (Thu, 10 Apr 2008) $
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(java.lang.Boolean b1, java.lang.Boolean b2)
          Compares two non-null Boolean objects according to the value of sortsTrueFirst().
 int compare(java.lang.Object obj1, java.lang.Object obj2)
          Compares two arbitrary Objects.
 boolean equals(java.lang.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(java.lang.Object obj1,
                   java.lang.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 java.util.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:
java.lang.ClassCastException - when either argument is not Boolean

compare

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

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:
java.lang.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 java.lang.Object
Returns:
a hash code for this comparator.

equals

public boolean equals(java.lang.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 value of sortsTrueFirst() is equal to mine.

Specified by:
equals in interface java.util.Comparator
Overrides:
equals in class java.lang.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 © 2001-2008 The Apache Software Foundation. All Rights Reserved.