org.springframework.beans.propertyeditors

## Class CustomBooleanEditor

- java.lang.Object
- - java.beans.PropertyEditorSupport
  - - org.springframework.beans.propertyeditors.CustomBooleanEditor

- All Implemented Interfaces:
    PropertyEditor

      public class CustomBooleanEditor
      extends PropertyEditorSupport

  Property editor for Boolean/boolean properties.

  This is not meant to be used as system PropertyEditor but rather as locale-specific Boolean editor within custom controller code, to parse UI-caused boolean strings into boolean properties of beans and check them in the UI form.

  In web MVC code, this editor will typically be registered with `binder.registerCustomEditor` calls in an implementation of BaseCommandController's `initBinder` method.

  Since:
    10.06.2003
  Author:
    Juergen Hoeller
  See Also:
    `DataBinder.registerCustomEditor(java.lang.Class<?>, java.beans.PropertyEditor)`, `BaseCommandController.initBinder(javax.servlet.http.HttpServletRequest, org.springframework.web.bind.ServletRequestDataBinder)`

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String` | `VALUE_0`
    `static String` | `VALUE_1`
    `static String` | `VALUE_FALSE`
    `static String` | `VALUE_NO`
    `static String` | `VALUE_OFF`
    `static String` | `VALUE_ON`
    `static String` | `VALUE_TRUE`
    `static String` | `VALUE_YES`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `CustomBooleanEditor(boolean allowEmpty)` Create a new CustomBooleanEditor instance, with "true"/"on"/"yes" and "false"/"off"/"no" as recognized String values.
    `CustomBooleanEditor(String trueString, String falseString, boolean allowEmpty)` Create a new CustomBooleanEditor instance, with configurable String values for true and false.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `String` | `getAsText()`
    `void` | `setAsText(String text)`

    - ### Methods inherited from class java.beans.PropertyEditorSupport

      `addPropertyChangeListener, firePropertyChange, getCustomEditor, getJavaInitializationString, getSource, getTags, getValue, isPaintable, paintValue, removePropertyChangeListener, setSource, setValue, supportsCustomEditor`

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

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

- - ### Field Detail

    - #### VALUE_TRUE

          public static final String VALUE_TRUE

      See Also:
        Constant Field Values

    - #### VALUE_FALSE

          public static final String VALUE_FALSE

      See Also:
        Constant Field Values

    - #### VALUE_ON

          public static final String VALUE_ON

      See Also:
        Constant Field Values

    - #### VALUE_OFF

          public static final String VALUE_OFF

      See Also:
        Constant Field Values

    - #### VALUE_YES

          public static final String VALUE_YES

      See Also:
        Constant Field Values

    - #### VALUE_NO

          public static final String VALUE_NO

      See Also:
        Constant Field Values

    - #### VALUE_1

          public static final String VALUE_1

      See Also:
        Constant Field Values

    - #### VALUE_0

          public static final String VALUE_0

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### CustomBooleanEditor

          public CustomBooleanEditor(boolean allowEmpty)

      Create a new CustomBooleanEditor instance, with "true"/"on"/"yes" and "false"/"off"/"no" as recognized String values.

      The "allowEmpty" parameter states if an empty String should be allowed for parsing, i.e. get interpreted as null value. Else, an IllegalArgumentException gets thrown in that case.

      Parameters:
        `allowEmpty` - if empty strings should be allowed

    - #### CustomBooleanEditor

          public CustomBooleanEditor(String trueString,
                             String falseString,
                             boolean allowEmpty)

      Create a new CustomBooleanEditor instance, with configurable String values for true and false.

      The "allowEmpty" parameter states if an empty String should be allowed for parsing, i.e. get interpreted as null value. Else, an IllegalArgumentException gets thrown in that case.

      Parameters:
        `trueString` - the String value that represents true: for example, "true" (VALUE_TRUE), "on" (VALUE_ON), "yes" (VALUE_YES) or some custom value
        `falseString` - the String value that represents false: for example, "false" (VALUE_FALSE), "off" (VALUE_OFF), "no" (VALUE_NO) or some custom value
        `allowEmpty` - if empty strings should be allowed
      See Also:
        `VALUE_TRUE`, `VALUE_FALSE`, `VALUE_ON`, `VALUE_OFF`, `VALUE_YES`, `VALUE_NO`

  - ### Method Detail

    - #### setAsText

          public void setAsText(String text)
                         throws IllegalArgumentException

      Specified by:
        `setAsText` in interface `PropertyEditor`
      Overrides:
        `setAsText` in class `PropertyEditorSupport`
      Throws:
        `IllegalArgumentException`

    - #### getAsText

          public String getAsText()

      Specified by:
        `getAsText` in interface `PropertyEditor`
      Overrides:
        `getAsText` in class `PropertyEditorSupport`