Class BooleanConversion

  • All Implemented Interfaces:
    Conversion<java.lang.String,​java.lang.Boolean>

    public class BooleanConversion
    extends ObjectConversion<java.lang.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 Summary

      Fields 
      Modifier and Type Field Description
      private java.lang.String defaultForFalse  
      private java.lang.String defaultForTrue  
      private java.util.Set<java.lang.String> falseValues  
      private java.util.Set<java.lang.String> trueValues  
    • Constructor Summary

      Constructors 
      Constructor Description
      BooleanConversion​(java.lang.Boolean valueIfStringIsNull, java.lang.String valueIfObjectIsNull, java.lang.String[] valuesForTrue, java.lang.String[] valuesForFalse)
      Creates a Conversion from String to Boolean with default values to return when the input is null.
      BooleanConversion​(java.lang.String[] valuesForTrue, java.lang.String[] valuesForFalse)
      Creates conversions from String to Boolean.
    • Field Detail

      • defaultForTrue

        private java.lang.String defaultForTrue
      • defaultForFalse

        private java.lang.String defaultForFalse
      • falseValues

        private final java.util.Set<java.lang.String> falseValues
      • trueValues

        private final java.util.Set<java.lang.String> trueValues
    • Constructor Detail

      • BooleanConversion

        public BooleanConversion​(java.lang.String[] valuesForTrue,
                                 java.lang.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​(java.lang.Boolean valueIfStringIsNull,
                                 java.lang.String valueIfObjectIsNull,
                                 java.lang.String[] valuesForTrue,
                                 java.lang.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 Detail

      • revert

        public java.lang.String revert​(java.lang.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<java.lang.String,​java.lang.Boolean>
        Overrides:
        revert in class ObjectConversion<java.lang.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.
      • getBoolean

        public static java.lang.Boolean getBoolean​(java.lang.String booleanString,
                                                   java.lang.String[] trueValues,
                                                   java.lang.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 java.lang.Boolean getBoolean​(java.lang.String defaultString,
                                                    java.util.Set<java.lang.String> trueValues,
                                                    java.util.Set<java.lang.String> falseValues)
      • normalize

        private static java.lang.String normalize​(java.lang.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​(java.util.Collection<java.lang.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.