## org.apache.commons.collections.comparators
Class BooleanComparator

    java.lang.Object
      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` `Boolean`s 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.