org.apache.commons.collections.comparators

Class BooleanComparator

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: 155406 $ $Date: 2005-02-26 12:55:26 +0000 (Sat, 26 Feb 2005) $

Author: Rodney Waldhoff

See Also: getTrueFirstComparator getFalseFirstComparator

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
intcompare(Object obj1, Object obj2)
Compares two arbitrary Objects.
intcompare(Boolean b1, Boolean b2)
Compares two non-null Boolean objects according to the value of sortsTrueFirst.
booleanequals(Object object)
Returns true iff that Object is is a Comparator whose ordering is known to be equivalent to mine.
static BooleanComparatorgetBooleanComparator(boolean trueFirst)
Returns a BooleanComparator instance that sorts trueFirst values before !trueFirst values.
static BooleanComparatorgetFalseFirstComparator()
Returns a BooleanComparator instance that sorts false values before true values.
static BooleanComparatorgetTrueFirstComparator()
Returns a BooleanComparator instance that sorts true values before false values.
inthashCode()
Implement a hash code for this comparator that is consistent with equals.
booleansortsTrueFirst()
Returns true iff I sort true values before false values.

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

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.

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 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: NullPointerException when either argument null

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 value of sortsTrueFirst is equal to mine.

Parameters: object the object to compare to

Returns: true if equal

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

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

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

hashCode

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

Returns: a hash code for this comparator.

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