Package org.apache.commons.beanutils2.converters

# Class BooleanConverter

java.lang.Object
org.apache.commons.beanutils2.converters.AbstractConverter<Boolean>
org.apache.commons.beanutils2.converters.BooleanConverter

All Implemented Interfaces:
  `Converter<Boolean>`

public final class BooleanConverter extends AbstractConverter<Boolean>
`Converter` implementation that handles conversion to and from Boolean objects. `Converter` implementation that handles conversion to and from `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);

Case is ignored when converting values to true or false.

Since:
  1.3

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `BooleanConverter()`
  Constructs a `Converter` that will throw a `ConversionException` if a conversion error occurs, that is, if the string value being converted is not one of the known true strings, nor one of the known false strings.
  `BooleanConverter(Boolean defaultValue)`
  Constructs a `Converter` that will return the specified default value if a conversion error occurs, that is, 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)`
  Constructs a `Converter` that will throw a `ConversionException` if a conversion error occurs, that is, 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, Boolean defaultValue)`
  Constructs a `Converter` that will return the specified default value if a conversion error occurs.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected <T> T`
  `convertToType(Class<T> type, Object value)`
  Converts the specified input object into an output object of the specified type.
  `protected Class<Boolean>`
  `getDefaultType()`
  Gets the default type this `Converter` handles.

  ### Methods inherited from class org.apache.commons.beanutils2.converters.AbstractConverter

  `conversionException, convert, convertArray, convertToString, getDefault, handleError, handleMissing, isUseDefault, setDefaultValue, toLowerCase, toString, toString, toTrim`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- ## Constructor Details

  - ### BooleanConverter

    public BooleanConverter()
    Constructs a `Converter` that will throw a `ConversionException` if a conversion error occurs, that is, if the string value being converted is not one of the known true strings, nor one of the known false strings.

  - ### BooleanConverter

    public BooleanConverter(Boolean defaultValue)
    Constructs a `Converter` that will return the specified default value if a conversion error occurs, that is, 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 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.

  - ### BooleanConverter

    public BooleanConverter(String[] trueStrings, String[] falseStrings)
    Constructs a `Converter` that will throw a `ConversionException` if a conversion error occurs, that is, 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.
    Since:
      1.8.0

  - ### BooleanConverter

    public BooleanConverter(String[] trueStrings, String[] falseStrings, Boolean defaultValue)
    Constructs 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 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.
    Since:
      1.8.0

- ## Method Details

  - ### convertToType

    protected <T> T convertToType(Class<T> type, Object value) throws Throwable
    Converts the specified input object into an output object of the specified type.
    Specified by:
      `convertToType` in class `AbstractConverter<Boolean>`
    Type Parameters:
      `T` - Target type of the conversion.
    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 recognized "true" value, Boolean.FALSE if the value was a recognized "false" value, or the default value if the value was not recognized and the constructor was provided with a default value.
    Throws:
      `Throwable` - if an error occurs converting to the specified type
    Since:
      1.8.0

  - ### getDefaultType

    protected Class<Boolean> getDefaultType()
    Gets the default type this `Converter` handles.
    Specified by:
      `getDefaultType` in class `AbstractConverter<Boolean>`
    Returns:
      The default type this `Converter` handles.
    Since:
      1.8.0