|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.commons.beanutils.converters.BooleanConverter
Standard Converter
implementation that converts an incoming
String into a java.lang.Boolean
object, optionally using a
default value or throwing a ConversionException
if a conversion
error occurs.
By default any object whose string representation is one of the values {"yes", "y", "true", "on", "1"} is converted to Boolean.TRUE, and string representations {"no", "n", "false", "off", "0"} are converted to Boolean.FALSE. The recognised true/false strings can be changed by:
String[] trueStrings = {"oui", "o", "1"}; String[] falseStrings = {"non", "n", "0"}; Converter bc = new BooleanConverter(trueStrings, falseStrings); ConvertUtils.register(bc, Boolean.class); ConvertUtils.register(bc, Boolean.TYPE);In addition, it is recommended that the BooleanArrayConverter also be modified to recognise the same set of values:
Converter bac = new BooleanArrayConverter(bc, BooleanArrayConverter.NO_DEFAULT); ConvertUtils.register(bac, bac.MODEL);
Case is ignored when converting values to true or false.
Field Summary | |
private java.lang.Object |
defaultValue
The default value specified to our Constructor, if any. |
private java.lang.String[] |
falseStrings
The set of strings that are known to map to Boolean.FALSE. |
static java.lang.Object |
NO_DEFAULT
This is a special reference that can be passed as the "default object" to the constructor to indicate that no default is desired. |
private java.lang.String[] |
trueStrings
The set of strings that are known to map to Boolean.TRUE. |
private boolean |
useDefault
Should we return the default value on conversion errors? |
Constructor Summary | |
BooleanConverter()
Create a Converter that will throw a ConversionException
if a conversion error occurs, ie the string value being converted is
not one of the known true strings, nor one of the known false strings. |
|
BooleanConverter(java.lang.Object defaultValue)
Create a Converter that will return the specified default value
if a conversion error occurs, ie the string value being converted is
not one of the known true strings, nor one of the known false strings. |
|
BooleanConverter(java.lang.String[] trueStrings,
java.lang.String[] falseStrings,
java.lang.Object defaultValue)
Create a Converter that will return the specified default value
if a conversion error occurs. |
Method Summary | |
java.lang.Object |
convert(java.lang.Class type,
java.lang.Object value)
Convert the specified input object into an output object of the specified type. |
private static java.lang.String[] |
copyStrings(java.lang.String[] src)
This method creates a copy of the provided array, and ensures that all the strings in the newly created array contain only lower-case letters. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public static final java.lang.Object NO_DEFAULT
private java.lang.Object defaultValue
private boolean useDefault
private java.lang.String[] trueStrings
private java.lang.String[] falseStrings
Constructor Detail |
public BooleanConverter()
Converter
that will throw a ConversionException
if a conversion error occurs, ie the string value being converted is
not one of the known true strings, nor one of the known false strings.
public BooleanConverter(java.lang.Object defaultValue)
Converter
that will return the specified default value
if a conversion error occurs, ie the string value being converted is
not one of the known true strings, nor one of the known false strings.
defaultValue
- The default value to be returned if the value
being converted is not recognised. This value may be null, in which
case null will be returned on conversion failure. When non-null, it is
expected that this value will be either Boolean.TRUE or Boolean.FALSE.
The special value BooleanConverter.NO_DEFAULT can also be passed here,
in which case this constructor acts like the no-argument one.public BooleanConverter(java.lang.String[] trueStrings, java.lang.String[] falseStrings, java.lang.Object defaultValue)
Converter
that will return the specified default value
if a conversion error occurs.
The provided string arrays are copied, so that changes to the elements of the array after this call is made do not affect this object.
trueStrings
- is the set of strings which should convert to the
value Boolean.TRUE. The value null must not be present. Case is
ignored.falseStrings
- is the set of strings which should convert to the
value Boolean.TRUE. The value null must not be present. Case is
ignored.defaultValue
- The default value to be returned if the value
being converted is not recognised. This value may be null, in which
case null will be returned on conversion failure. When non-null, it is
expected that this value will be either Boolean.TRUE or Boolean.FALSE.
The special value BooleanConverter.NO_DEFAULT can also be passed here,
in which case an exception will be thrown on conversion failure.Method Detail |
public java.lang.Object convert(java.lang.Class type, java.lang.Object value)
convert
in interface Converter
type
- is the type to which this value should be converted. In the
case of this BooleanConverter class, this value is ignored.value
- is the input value to be converted. The toString method
shall be invoked on this object, and the result compared (ignoring
case) against the known "true" and "false" string values.
ConversionException
- if conversion cannot be performed
successfully and the constructor was not provided with a default
value to return on conversion failure.private static java.lang.String[] copyStrings(java.lang.String[] src)
Using this method to copy string arrays means that changes to the src array do not modify the dst array.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |