Class BooleanConversion

All Implemented Interfaces:
Conversion<String,Boolean>

public class BooleanConversion extends ObjectConversion<Boolean>
Converts Strings to Booleans and vice versa

This class supports multiple representations of boolean values. For example, you can define conversions from different Strings such as "Yes, Y, 1" to true, and "No, N, 0" to false.

The reverse conversion from a Boolean to String (in revert(Boolean) will return the first String provided in this class constructor

Using the previous example, a call to revert(true) will produce "Yes" and a call revert(false) will produce "No".

Author:
Univocity Software Pty Ltd - parsers@univocity.com
  • Constructor Details

    • BooleanConversion

      public BooleanConversion(String[] valuesForTrue, String[] valuesForFalse)
      Creates conversions from String to Boolean. This default constructor assumes the output of a conversion should be null when input is null

      The list of Strings that identify "true" the list of Strings that identify "false" are mandatory.

      Parameters:
      valuesForTrue - Strings that identify the boolean value true. The first element will be returned when executing revert(true)
      valuesForFalse - Strings that identify the boolean value false. The first element will be returned when executing #revert(false)
    • BooleanConversion

      public BooleanConversion(Boolean valueIfStringIsNull, String valueIfObjectIsNull, String[] valuesForTrue, String[] valuesForFalse)
      Creates a Conversion from String to Boolean with default values to return when the input is null.

      The list of Strings that identify "true" the list of Strings that identify "false" are mandatory.

      Parameters:
      valueIfStringIsNull - default Boolean value to be returned when the input String is null. Used when ObjectConversion.execute(String) is invoked.
      valueIfObjectIsNull - default String value to be returned when a Boolean input is null. Used when revert(Boolean) is invoked.
      valuesForTrue - Strings that identify the boolean value true. The first element will be returned when executing revert(true)
      valuesForFalse - Strings that identify the boolean value false. The first element will be returned when executing #revert(false)
  • Method Details

    • revert

      public String revert(Boolean input)
      Converts a Boolean back to a String

      The return value depends on the list of values for true/false provided in the constructor of this class.

      Specified by:
      revert in interface Conversion<String,Boolean>
      Overrides:
      revert in class ObjectConversion<Boolean>
      Parameters:
      input - the Boolean to be converted to a String
      Returns:
      a String representation for this boolean value, or the value of ObjectConversion.getValueIfObjectIsNull() if the Boolean input is null.
    • fromString

      protected Boolean fromString(String input)
      Converts a String to a Boolean
      Specified by:
      fromString in class ObjectConversion<Boolean>
      Parameters:
      input - a String to be converted into a Boolean value.
      Returns:
      true if the input String is part of trueValues, false if the input String is part of falseValues, or ObjectConversion.getValueIfStringIsNull() if the input String is null.
    • getBoolean

      public static Boolean getBoolean(String booleanString, String[] trueValues, String[] falseValues)
      Returns the Boolean value represented by a String, as defined by sets of Strings that represent true and false values.
      Parameters:
      booleanString - the value that represents either true or false
      trueValues - a set of possible string values that represent true. If empty, then "true" will be assumed as the only acceptable representation.
      falseValues - a set of possible string values that represent false. If empty, then "false" will be assumed as the only acceptable representation.
      Returns:
      the boolean value that the input string represents
      Throws:
      DataProcessingException - if the input string does not match any value provided in neither set of possible values.