public final class

BooleanConverter

extends AbstractConverter
java.lang.Object
   ↳ org.apache.commons.beanutils.converters.AbstractConverter
     ↳ org.apache.commons.beanutils.converters.BooleanConverter

Class Overview

Converter implementaion that handles conversion to and from Boolean objects. Converter implementaion 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 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.

Summary

Fields
public static final Object NO_DEFAULT This field is deprecated. Use constructors without default value.
Public Constructors
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.
Protected Methods
Object convertToType(Class type, Object value)
Convert the specified input object into an output object of the specified type.
Class getDefaultType()
Return the default type this Converter handles.
[Expand]
Inherited Methods
From class org.apache.commons.beanutils.converters.AbstractConverter
From class java.lang.Object
From interface org.apache.commons.beanutils.Converter

Fields

public static final Object NO_DEFAULT

This field is deprecated.
Use constructors without default value.

This is a special reference that can be passed as the "default object" to the constructor to indicate that no default is desired. Note that the value 'null' cannot be used for this purpose, as the caller may want a null to be returned as the default.

Public Constructors

public 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.

public 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.

Parameters
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 (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.

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.

Parameters
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)

Create a 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.

Parameters
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.

Protected Methods

protected Object convertToType (Class type, Object value)

Convert the specified input object into an output object of the specified type.

Parameters
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.
Returns
  • Boolean.TRUE if the value was a recognised "true" value, Boolean.FALSE if the value was a recognised "false" value, or the default value if the value was not recognised and the constructor was provided with a default value.
Throws
Throwable if an error occurs converting to the specified type

protected Class getDefaultType ()

Return the default type this Converter handles.

Returns
  • The default type this Converter handles.