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

  • Field Details

    • defaultForTrue

      private String defaultForTrue
    • defaultForFalse

      private String defaultForFalse
    • falseValues

      private final Set<String> falseValues
    • trueValues

      private final Set<String> trueValues
  • 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.
    • getBoolean

      private static Boolean getBoolean(String defaultString, Set<String> trueValues, Set<String> falseValues)
    • normalize

      private static String normalize(String string)
      Normalizes a given String by trimming whitespaces and converting it to lower case.
      Parameters:
      string - a String to be normalized.
      Returns:
      the normalized version of the original String.
    • normalize

      private static void normalize(Collection<String> strings)
      Normalizes the Strings in a given collection by trimming all elements and converting them to lower case.
      Parameters:
      strings - a String collection with elements to be normalized. The original contents of the collection will be modified.