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.
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 ** * @param value the Integer to convert * @param trueValue the value to match for
true
,
* may be null
* @param falseValue the value to match for false
,
* may be null
* @param nullValue the value to to match for null
,
* may be null
* @return Boolean.TRUE, Boolean.FALSE, or null
* @throws IllegalArgumentException if no match
*/
public static Boolean toBooleanObject(Integer value, Integer trueValue, Integer falseValue, Integer nullValue) {
if (value == null) {
if (trueValue == null) {
return Boolean.TRUE;
} else if (falseValue == null) {
return Boolean.FALSE;
} else if (nullValue == null) {
return null;
}
} else if (value.equals(trueValue)) {
return Boolean.TRUE;
} else if (value.equals(falseValue)) {
return Boolean.FALSE;
} else if (value.equals(nullValue)) {
return null;
}
// no match
throw new IllegalArgumentException("The Integer did not match any specified value");
}
}