public final class BooleanConverter extends AbstractConverter
Converter
implementation that handles conversion
to and from Boolean objects.
Converter
implementation that
handles conversion to and from java.lang.Boolean objects.
Can be configured to either return a default value or throw 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 recognized 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.
Modifier and Type | Field and Description |
---|---|
static Object |
NO_DEFAULT
Deprecated.
Use constructors without default value.
|
Constructor and Description |
---|
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(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(String[] trueStrings,
String[] falseStrings)
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(String[] trueStrings,
String[] falseStrings,
Object defaultValue)
Create a
Converter that will return
the specified default value if a conversion error occurs. |
Modifier and Type | Method and Description |
---|---|
protected <T> T |
convertToType(Class<T> type,
Object value)
Convert the specified input object into an output object of the
specified type.
|
protected Class<Boolean> |
getDefaultType()
Return the default type this
Converter handles. |
conversionException, convert, convertArray, convertToString, getDefault, handleError, handleMissing, isUseDefault, setDefaultValue, toString
@Deprecated public static final Object NO_DEFAULT
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(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 recognized. 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(String[] trueStrings, String[] falseStrings)
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.
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.public BooleanConverter(String[] trueStrings, String[] falseStrings, 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 recognized. 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.protected Class<Boolean> getDefaultType()
Converter
handles.getDefaultType
in class AbstractConverter
Converter
handles.protected <T> T convertToType(Class<T> type, Object value) throws Throwable
convertToType
in class AbstractConverter
T
- Target type of the conversion.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.Throwable
- if an error occurs converting to the specified typeCopyright © 2000–2016 The Apache Software Foundation. All rights reserved.