org.xulux.utils
Class BooleanUtils

java.lang.Object
  extended by org.xulux.utils.BooleanUtils

public class BooleanUtils
extends java.lang.Object

This class is a copy of BooleanUtils from jakarta commons lang, version 1.17. This is to replace the dependency of complete jakarta commons lang see http://jakarta.apache.org/commons/lang for the complete lang package.

Operations on boolean primitives and Boolean objects.

This class tries to handle null input gracefully. An exception will not be thrown for a null input. Each method documents its behaviour in more detail.

Since:
2.0
Version:
$Id: BooleanUtils.java,v 1.1 2005/12/18 12:58:15 mvdb Exp $
Author:
Stephen Colebourne, Matthew Hawthorne, Gary Gregory, Martin van den Bemt

Field Summary
static java.lang.Integer INTEGER_ONE
          Reusable Integer constant for one.
static java.lang.Integer INTEGER_ZERO
          Reusable Integer constant for zero.
 
Constructor Summary
BooleanUtils()
          BooleanUtils instances should NOT be constructed in standard programming.
 
Method Summary
static java.lang.Boolean negate(java.lang.Boolean bool)
          Negates the specified boolean.
static boolean toBoolean(java.lang.Boolean bool)
          Converts a Boolean to a boolean handling null by returning false.
static boolean toBoolean(int value)
          Converts an int to a boolean using the convention that zero is false.
static boolean toBoolean(java.lang.Integer value, java.lang.Integer trueValue, java.lang.Integer falseValue)
          Converts an Integer to a boolean specifying the conversion values.
static boolean toBoolean(int value, int trueValue, int falseValue)
          Converts an int to a boolean specifying the conversion values.
static boolean toBoolean(java.lang.Object object)
          Since xulux works with objects and we don't want to figure out the type beforehand, we have a stub that is calling the string and boolean toBoolean methods.
static boolean toBoolean(java.lang.String str)
          Converts a String to a boolean (optimised for performance).
static boolean toBoolean(java.lang.String str, java.lang.String trueString, java.lang.String falseString)
          Converts a String to a Boolean throwing an exception if no match found.
static boolean toBooleanDefaultIfNull(java.lang.Boolean bool, boolean valueIfNull)
          Converts a Boolean to a boolean handling null.
static java.lang.Boolean toBooleanObject(boolean bool)
          Boolean factory that avoids creating new Boolean objecs all the time.
static java.lang.Boolean toBooleanObject(int value)
          Converts an int to a Boolean using the convention that zero is false.
static java.lang.Boolean toBooleanObject(java.lang.Integer value)
          Converts an Integer to a Boolean using the convention that zero is false.
static java.lang.Boolean toBooleanObject(java.lang.Integer value, java.lang.Integer trueValue, java.lang.Integer falseValue, java.lang.Integer nullValue)
          Converts an Integer to a Boolean specifying the conversion values.
static java.lang.Boolean toBooleanObject(int value, int trueValue, int falseValue, int nullValue)
          Converts an int to a Boolean specifying the conversion values.
static java.lang.Boolean toBooleanObject(java.lang.String str)
          Converts a String to a Boolean.
static java.lang.Boolean toBooleanObject(java.lang.String str, java.lang.String trueString, java.lang.String falseString, java.lang.String nullString)
          Converts a String to a Boolean throwing an exception if no match.
static int toInteger(boolean bool)
          Converts a boolean to an int using the convention that zero is false.
static int toInteger(boolean bool, int trueValue, int falseValue)
          Converts a boolean to an int specifying the conversion values.
static int toInteger(java.lang.Boolean bool, int trueValue, int falseValue, int nullValue)
          Converts a Boolean to an int specifying the conversion values.
static java.lang.Integer toIntegerObject(boolean bool)
          Converts a boolean to an Integer using the convention that zero is false.
static java.lang.Integer toIntegerObject(java.lang.Boolean bool)
          Converts a Boolean to a Integer using the convention that zero is false.
static java.lang.Integer toIntegerObject(boolean bool, java.lang.Integer trueValue, java.lang.Integer falseValue)
          Converts a boolean to an Integer specifying the conversion values.
static java.lang.Integer toIntegerObject(java.lang.Boolean bool, java.lang.Integer trueValue, java.lang.Integer falseValue, java.lang.Integer nullValue)
          Converts a Boolean to an Integer specifying the conversion values.
static java.lang.String toString(boolean bool, java.lang.String trueString, java.lang.String falseString)
          Converts a boolean to a String returning one of the input Strings.
static java.lang.String toString(java.lang.Boolean bool, java.lang.String trueString, java.lang.String falseString, java.lang.String nullString)
          Converts a Boolean to a String returning one of the input Strings.
static java.lang.String toStringOnOff(boolean bool)
          Converts a boolean to a String returning 'on' or 'off'.
static java.lang.String toStringOnOff(java.lang.Boolean bool)
          Converts a Boolean to a String returning 'on', 'off', or null.
static java.lang.String toStringTrueFalse(boolean bool)
          Converts a boolean to a String returning 'true' or 'false'.
static java.lang.String toStringTrueFalse(java.lang.Boolean bool)
          Converts a Boolean to a String returning 'true', 'false', or null.
static java.lang.String toStringYesNo(boolean bool)
          Converts a boolean to a String returning 'yes' or 'no'.
static java.lang.String toStringYesNo(java.lang.Boolean bool)
          Converts a Boolean to a String returning 'yes', 'no', or null.
static boolean xor(boolean[] array)
          Performs an xor on a set of booleans.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

INTEGER_ZERO

public static final java.lang.Integer INTEGER_ZERO
Reusable Integer constant for zero.


INTEGER_ONE

public static final java.lang.Integer INTEGER_ONE
Reusable Integer constant for one.

Constructor Detail

BooleanUtils

public BooleanUtils()

BooleanUtils instances should NOT be constructed in standard programming. Instead, the class should be used as BooleanUtils.toBooleanObject(true);.

This constructor is public to permit tools that require a JavaBean instance to operate.

Method Detail

negate

public static java.lang.Boolean negate(java.lang.Boolean bool)

Negates the specified boolean.

If null is passed in, null will be returned.

   BooleanUtils.negate(Boolean.TRUE)  = Boolean.FALSE;
   BooleanUtils.negate(Boolean.FALSE) = Boolean.TRUE;
   BooleanUtils.negate(null)          = null;
 

Parameters:
bool - the Boolean to negate, may be null
Returns:
the negated Boolean, or null if null input

toBooleanObject

public static java.lang.Boolean toBooleanObject(boolean bool)

Boolean factory that avoids creating new Boolean objecs all the time.

This method was added to JDK1.4 but is available here for earlier JDKs.

   BooleanUtils.toBooleanObject(false) = Boolean.FALSE
   BooleanUtils.toBooleanObject(true)  = Boolean.TRUE
 

Parameters:
bool - the boolean to convert
Returns:
Boolean.TRUE or Boolean.FALSE as appropriate

toBoolean

public static boolean toBoolean(java.lang.Boolean bool)

Converts a Boolean to a boolean handling null by returning false.

   BooleanUtils.toBoolean(Boolean.TRUE)  = true
   BooleanUtils.toBoolean(Boolean.FALSE) = false
   BooleanUtils.toBoolean(null)          = false
 

Parameters:
bool - the boolean to convert
Returns:
true or false, null returns false

toBooleanDefaultIfNull

public static boolean toBooleanDefaultIfNull(java.lang.Boolean bool,
                                             boolean valueIfNull)

Converts a Boolean to a boolean handling null.

   BooleanUtils.toBooleanDefaultIfNull(Boolean.TRUE, false) = true
   BooleanUtils.toBooleanDefaultIfNull(Boolean.FALSE, true) = false
   BooleanUtils.toBooleanDefaultIfNull(null, true)          = true
 

Parameters:
bool - the boolean to convert
valueIfNull - the boolean value to return if null
Returns:
true or false

toBoolean

public static boolean toBoolean(int value)

Converts an int to a boolean using the convention that zero is false.

   BooleanUtils.toBoolean(0) = false
   BooleanUtils.toBoolean(1) = true
   BooleanUtils.toBoolean(2) = true
 

Parameters:
value - the int to convert
Returns:
true if non-zero, false if zero

toBooleanObject

public static java.lang.Boolean toBooleanObject(int value)

Converts an int to a Boolean using the convention that zero is false.

   BooleanUtils.toBoolean(0) = Boolean.FALSE
   BooleanUtils.toBoolean(1) = Boolean.TRUE
   BooleanUtils.toBoolean(2) = Boolean.TRUE
 

Parameters:
value - the int to convert
Returns:
Boolean.TRUE if non-zero, Boolean.FALSE if zero, null if null

toBooleanObject

public static java.lang.Boolean toBooleanObject(java.lang.Integer value)

Converts an Integer to a Boolean using the convention that zero is false.

null will be converted to null.

   BooleanUtils.toBoolean(new Integer(0))    = Boolean.FALSE
   BooleanUtils.toBoolean(new Integer(1))    = Boolean.TRUE
   BooleanUtils.toBoolean(new Integer(null)) = null
 

Parameters:
value - the Integer to convert
Returns:
Boolean.TRUE if non-zero, Boolean.FALSE if zero, null if null input

toBoolean

public static boolean toBoolean(int value,
                                int trueValue,
                                int falseValue)

Converts an int to a boolean specifying the conversion values.

   BooleanUtils.toBoolean(0, 1, 0) = false
   BooleanUtils.toBoolean(1, 1, 0) = true
   BooleanUtils.toBoolean(2, 1, 2) = false
   BooleanUtils.toBoolean(2, 2, 0) = true
 

Parameters:
value - the Integer to convert
trueValue - the value to match for true
falseValue - the value to match for false
Returns:
true or false
Throws:
java.lang.IllegalArgumentException - if no match

toBoolean

public static boolean toBoolean(java.lang.Integer value,
                                java.lang.Integer trueValue,
                                java.lang.Integer falseValue)

Converts an Integer to a boolean specifying the conversion values.

   BooleanUtils.toBoolean(new Integer(0), new Integer(1), new Integer(0)) = false
   BooleanUtils.toBoolean(new Integer(1), new Integer(1), new Integer(0)) = true
   BooleanUtils.toBoolean(new Integer(2), new Integer(1), new Integer(2)) = false
   BooleanUtils.toBoolean(new Integer(2), new Integer(2), new Integer(0)) = true
   BooleanUtils.toBoolean(null, null, new Integer(0))                     = true
 

Parameters:
value - the Integer to convert
trueValue - the value to match for true, may be null
falseValue - the value to match for false, may be null
Returns:
true or false
Throws:
java.lang.IllegalArgumentException - if no match

toBooleanObject

public static java.lang.Boolean toBooleanObject(int value,
                                                int trueValue,
                                                int falseValue,
                                                int nullValue)

Converts an int to a Boolean specifying the conversion values.

   BooleanUtils.toBooleanObject(0, 0, 2, 3) = Boolean.TRUE
   BooleanUtils.toBooleanObject(2, 1, 2, 3) = Boolean.FALSE
   BooleanUtils.toBooleanObject(3, 1, 2, 3) = null
 

Parameters:
value - the Integer to convert
trueValue - the value to match for true
falseValue - the value to match for false
nullValue - the value to to match for null
Returns:
Boolean.TRUE, Boolean.FALSE, or null
Throws:
java.lang.IllegalArgumentException - if no match

toBooleanObject

public static java.lang.Boolean toBooleanObject(java.lang.Integer value,
                                                java.lang.Integer trueValue,
                                                java.lang.Integer falseValue,
                                                java.lang.Integer nullValue)

Converts an Integer to a Boolean specifying the conversion values.

   BooleanUtils.toBooleanObject(new Integer(0), new Integer(0), new Integer(2), new Integer(3)) = Boolean.TRUE
   BooleanUtils.toBooleanObject(new Integer(2), new Integer(1), new Integer(2), new Integer(3)) = Boolean.FALSE
   BooleanUtils.toBooleanObject(new Integer(3), new Integer(1), new Integer(2), new Integer(3)) = null
 

Parameters:
value - the Integer to convert
trueValue - the value to match for true, may be null
falseValue - the value to match for false, may be null
nullValue - the value to to match for null, may be null
Returns:
Boolean.TRUE, Boolean.FALSE, or null
Throws:
java.lang.IllegalArgumentException - if no match

toInteger

public static int toInteger(boolean bool)

Converts a boolean to an int using the convention that zero is false.

   BooleanUtils.toInteger(true)  = 1
   BooleanUtils.toInteger(false) = 0
 

Parameters:
bool - the boolean to convert
Returns:
one if true, zero if false

toIntegerObject

public static java.lang.Integer toIntegerObject(boolean bool)

Converts a boolean to an Integer using the convention that zero is false.

   BooleanUtils.toIntegerObject(true)  = new Integer(1)
   BooleanUtils.toIntegerObject(false) = new Integer(0)
 

Parameters:
bool - the boolean to convert
Returns:
one if true, zero if false

toIntegerObject

public static java.lang.Integer toIntegerObject(java.lang.Boolean bool)

Converts a Boolean to a Integer using the convention that zero is false.

null will be converted to null.

   BooleanUtils.toIntegerObject(Boolean.TRUE)  = new Integer(1)
   BooleanUtils.toIntegerObject(Boolean.FALSE) = new Integer(0)
 

Parameters:
bool - the Boolean to convert
Returns:
one if Boolean.TRUE, zero if Boolean.FALSE, null if null

toInteger

public static int toInteger(boolean bool,
                            int trueValue,
                            int falseValue)

Converts a boolean to an int specifying the conversion values.

   BooleanUtils.toInteger(true, 1, 0)  = 1
   BooleanUtils.toInteger(false, 1, 0) = 0
 

Parameters:
bool - the to convert
trueValue - the value to return if true
falseValue - the value to return if false
Returns:
the appropriate value

toInteger

public static int toInteger(java.lang.Boolean bool,
                            int trueValue,
                            int falseValue,
                            int nullValue)

Converts a Boolean to an int specifying the conversion values.

   BooleanUtils.toInteger(Boolean.TRUE, 1, 0, 2)  = 1
   BooleanUtils.toInteger(Boolean.FALSE, 1, 0, 2) = 0
   BooleanUtils.toInteger(null, 1, 0, 2)          = 2
 

Parameters:
bool - the Boolean to convert
trueValue - the value to return if true
falseValue - the value to return if false
nullValue - the value to return if null
Returns:
the appropriate value

toIntegerObject

public static java.lang.Integer toIntegerObject(boolean bool,
                                                java.lang.Integer trueValue,
                                                java.lang.Integer falseValue)

Converts a boolean to an Integer specifying the conversion values.

   BooleanUtils.toIntegerObject(true, new Integer(1), new Integer(0))  = new Integer(1)
   BooleanUtils.toIntegerObject(false, new Integer(1), new Integer(0)) = new Integer(0)
 

Parameters:
bool - the to convert
trueValue - the value to return if true, may be null
falseValue - the value to return if false, may be null
Returns:
the appropriate value

toIntegerObject

public static java.lang.Integer toIntegerObject(java.lang.Boolean bool,
                                                java.lang.Integer trueValue,
                                                java.lang.Integer falseValue,
                                                java.lang.Integer nullValue)

Converts a Boolean to an Integer specifying the conversion values.

   BooleanUtils.toIntegerObject(Boolean.TRUE, new Integer(1), new Integer(0), new Integer(2))  = new Integer(1)
   BooleanUtils.toIntegerObject(Boolean.FALSE, new Integer(1), new Integer(0), new Integer(2)) = new Integer(0)
   BooleanUtils.toIntegerObject(null, new Integer(1), new Integer(0), new Integer(2))          = new Integer(2)
 

Parameters:
bool - the Boolean to convert
trueValue - the value to return if true, may be null
falseValue - the value to return if false, may be null
nullValue - the value to return if null, may be null
Returns:
the appropriate value

toBooleanObject

public static java.lang.Boolean toBooleanObject(java.lang.String str)

Converts a String to a Boolean.

'true', 'on' or 'yes' (case insensitive) will return true. 'false', 'off' or 'no' (case insensitive) will return false. Otherwise, null is returned.

   BooleanUtils.toBooleanObject(null)    = null
   BooleanUtils.toBooleanObject("true")  = Boolean.TRUE
   BooleanUtils.toBooleanObject("false") = Boolean.FALSE
   BooleanUtils.toBooleanObject("on")    = Boolean.TRUE
   BooleanUtils.toBooleanObject("ON")    = Boolean.TRUE
   BooleanUtils.toBooleanObject("off")   = Boolean.FALSE
   BooleanUtils.toBooleanObject("oFf")   = Boolean.FALSE
   BooleanUtils.toBooleanObject("blue")  = null
 

Parameters:
str - the String to check
Returns:
the Boolean value of the string, null if no match or null input

toBooleanObject

public static java.lang.Boolean toBooleanObject(java.lang.String str,
                                                java.lang.String trueString,
                                                java.lang.String falseString,
                                                java.lang.String nullString)

Converts a String to a Boolean throwing an exception if no match.

   BooleanUtils.toBooleanObject("true", "true", "false", "null")  = Boolean.TRUE
   BooleanUtils.toBooleanObject("false", "true", "false", "null") = Boolean.FALSE
   BooleanUtils.toBooleanObject("null", "true", "false", "null")  = null
 

Parameters:
str - the String to check
trueString - the String to match for true (case sensitive), may be null
falseString - the String to match for false (case sensitive), may be null
nullString - the String to match for null (case sensitive), may be null
Returns:
the Boolean value of the string, null if no match or null input

toBoolean

public static boolean toBoolean(java.lang.String str)

Converts a String to a boolean (optimised for performance).

'true', 'on' or 'yes' (case insensitive) will return true. Otherwise, false is returned.

This method performs 4 times faster (JDK1.4) than Boolean.valueOf(String). However, this method accepts 'on' and 'yes' as true values.

   BooleanUtils.toBoolean(null)    = false
   BooleanUtils.toBoolean("true")  = true
   BooleanUtils.toBoolean("TRUE")  = true
   BooleanUtils.toBoolean("tRUe")  = true
   BooleanUtils.toBoolean("on")    = true
   BooleanUtils.toBoolean("yes")   = true
   BooleanUtils.toBoolean("false") = false
   BooleanUtils.toBoolean("x gti") = false
 

Parameters:
str - the String to check
Returns:
the boolean value of the string, false if no match

toBoolean

public static boolean toBoolean(java.lang.Object object)
Since xulux works with objects and we don't want to figure out the type beforehand, we have a stub that is calling the string and boolean toBoolean methods.

Parameters:
object - - if it is null it will return false by default.
Returns:
the restult of the conversion.
Throws:
java.lang.IllegalArgumentException - - when the type has no booleanconverter.

toBoolean

public static boolean toBoolean(java.lang.String str,
                                java.lang.String trueString,
                                java.lang.String falseString)

Converts a String to a Boolean throwing an exception if no match found.

null is returned if there is no match.

   BooleanUtils.toBoolean("true", "true", "false")  = true
   BooleanUtils.toBoolean("false", "true", "false") = false
 

Parameters:
str - the String to check
trueString - the String to match for true (case sensitive), may be null
falseString - the String to match for false (case sensitive), may be null
Returns:
the boolean value of the string
Throws:
java.lang.IllegalArgumentException - if the String doesn't match

toStringTrueFalse

public static java.lang.String toStringTrueFalse(java.lang.Boolean bool)

Converts a Boolean to a String returning 'true', 'false', or null.

   BooleanUtils.toStringTrueFalse(Boolean.TRUE)  = "true"
   BooleanUtils.toStringTrueFalse(Boolean.FALSE) = "false"
   BooleanUtils.toStringTrueFalse(null)          = null;
 

Parameters:
bool - the Boolean to check
Returns:
'true', 'false', or null

toStringOnOff

public static java.lang.String toStringOnOff(java.lang.Boolean bool)

Converts a Boolean to a String returning 'on', 'off', or null.

   BooleanUtils.toStringOnOff(Boolean.TRUE)  = "on"
   BooleanUtils.toStringOnOff(Boolean.FALSE) = "off"
   BooleanUtils.toStringOnOff(null)          = null;
 

Parameters:
bool - the Boolean to check
Returns:
'on', 'off', or null

toStringYesNo

public static java.lang.String toStringYesNo(java.lang.Boolean bool)

Converts a Boolean to a String returning 'yes', 'no', or null.

   BooleanUtils.toStringYesNo(Boolean.TRUE)  = "yes"
   BooleanUtils.toStringYesNo(Boolean.FALSE) = "no"
   BooleanUtils.toStringYesNo(null)          = null;
 

Parameters:
bool - the Boolean to check
Returns:
'yes', 'no', or null

toString

public static java.lang.String toString(java.lang.Boolean bool,
                                        java.lang.String trueString,
                                        java.lang.String falseString,
                                        java.lang.String nullString)

Converts a Boolean to a String returning one of the input Strings.

   BooleanUtils.toString(Boolean.TRUE, "true", "false", null)   = "true"
   BooleanUtils.toString(Boolean.FALSE, "true", "false", null)  = "false"
   BooleanUtils.toString(null, "true", "false", null)           = null;
 

Parameters:
bool - the Boolean to check
trueString - the String to return if true, may be null
falseString - the String to return if false, may be null
nullString - the String to return if null, may be null
Returns:
one of the three input Strings

toStringTrueFalse

public static java.lang.String toStringTrueFalse(boolean bool)

Converts a boolean to a String returning 'true' or 'false'.

   BooleanUtils.toStringTrueFalse(true)   = "true"
   BooleanUtils.toStringTrueFalse(false)  = "false"
 

Parameters:
bool - the Boolean to check
Returns:
'true', 'false', or null

toStringOnOff

public static java.lang.String toStringOnOff(boolean bool)

Converts a boolean to a String returning 'on' or 'off'.

   BooleanUtils.toStringOnOff(true)   = "on"
   BooleanUtils.toStringOnOff(false)  = "off"
 

Parameters:
bool - the Boolean to check
Returns:
'on', 'off', or null

toStringYesNo

public static java.lang.String toStringYesNo(boolean bool)

Converts a boolean to a String returning 'yes' or 'no'.

   BooleanUtils.toStringYesNo(true)   = "yes"
   BooleanUtils.toStringYesNo(false)  = "no"
 

Parameters:
bool - the Boolean to check
Returns:
'yes', 'no', or null

toString

public static java.lang.String toString(boolean bool,
                                        java.lang.String trueString,
                                        java.lang.String falseString)

Converts a boolean to a String returning one of the input Strings.

   BooleanUtils.toString(true, "true", "false")   = "true"
   BooleanUtils.toString(false, "true", "false")  = "false"
 

Parameters:
bool - the Boolean to check
trueString - the String to return if true, may be null
falseString - the String to return if false, may be null
Returns:
one of the two input Strings

xor

public static boolean xor(boolean[] array)

Performs an xor on a set of booleans.

   BooleanUtils.xor(new boolean[] { true, true })   = false
   BooleanUtils.xor(new boolean[] { false, false }) = false
   BooleanUtils.xor(new boolean[] { true, false })  = true
 

Parameters:
array - an array of booleans
Returns:
true if the xor is successful.
Throws:
java.lang.IllegalArgumentException - if array is null
java.lang.IllegalArgumentException - if array is empty.


Copyright © 2002-2007 Martin van den Bemt. All Rights Reserved.