org.springframework.beans.propertyeditors

## Class StringArrayPropertyEditor

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

- All Implemented Interfaces:
    PropertyEditor

      public class StringArrayPropertyEditor
      extends PropertyEditorSupport

  Custom `PropertyEditor` for String arrays.

  Strings must be in CSV format, with a customizable separator. By default values in the result are trimmed of whitespace.

  Author:
    Rod Johnson, Juergen Hoeller, Dave Syer
  See Also:
    `StringUtils.delimitedListToStringArray(java.lang.String, java.lang.String)`, `StringUtils.arrayToDelimitedString(java.lang.Object[], java.lang.String)`

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String` | `DEFAULT_SEPARATOR` Default separator for splitting a String: a comma (",")

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `StringArrayPropertyEditor()` Create a new StringArrayPropertyEditor with the default separator (a comma).
    `StringArrayPropertyEditor(String separator)` Create a new StringArrayPropertyEditor with the given separator.
    `StringArrayPropertyEditor(String separator, boolean emptyArrayAsNull)` Create a new StringArrayPropertyEditor with the given separator.
    `StringArrayPropertyEditor(String separator, boolean emptyArrayAsNull, boolean trimValues)` Create a new StringArrayPropertyEditor with the given separator.
    `StringArrayPropertyEditor(String separator, String charsToDelete, boolean emptyArrayAsNull)` Create a new StringArrayPropertyEditor with the given separator.
    `StringArrayPropertyEditor(String separator, String charsToDelete, boolean emptyArrayAsNull, boolean trimValues)` Create a new StringArrayPropertyEditor with the given separator.

  - ### Method Summary

    All Methods Instance Methods Concrete 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

    - #### DEFAULT_SEPARATOR

          public static final String DEFAULT_SEPARATOR

      Default separator for splitting a String: a comma (",")
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### StringArrayPropertyEditor

          public StringArrayPropertyEditor()

      Create a new StringArrayPropertyEditor with the default separator (a comma).

      An empty text (without elements) will be turned into an empty array.

    - #### StringArrayPropertyEditor

          public StringArrayPropertyEditor(String separator)

      Create a new StringArrayPropertyEditor with the given separator.

      An empty text (without elements) will be turned into an empty array.

      Parameters:
        `separator` - the separator to use for splitting a `String`

    - #### StringArrayPropertyEditor

          public StringArrayPropertyEditor(String separator,
                                           boolean emptyArrayAsNull)

      Create a new StringArrayPropertyEditor with the given separator.
      Parameters:
        `separator` - the separator to use for splitting a `String`
        `emptyArrayAsNull` - `true` if an empty String array is to be transformed into `null`

    - #### StringArrayPropertyEditor

          public StringArrayPropertyEditor(String separator,
                                           boolean emptyArrayAsNull,
                                           boolean trimValues)

      Create a new StringArrayPropertyEditor with the given separator.
      Parameters:
        `separator` - the separator to use for splitting a `String`
        `emptyArrayAsNull` - `true` if an empty String array is to be transformed into `null`
        `trimValues` - `true` if the values in the parsed arrays are to be be trimmed of whitespace (default is true).

    - #### StringArrayPropertyEditor

          public StringArrayPropertyEditor(String separator,
                                           String charsToDelete,
                                           boolean emptyArrayAsNull)

      Create a new StringArrayPropertyEditor with the given separator.
      Parameters:
        `separator` - the separator to use for splitting a `String`
        `charsToDelete` - a set of characters to delete, in addition to trimming an input String. Useful for deleting unwanted line breaks: e.g. "\r\n\f" will delete all new lines and line feeds in a String.
        `emptyArrayAsNull` - `true` if an empty String array is to be transformed into `null`

    - #### StringArrayPropertyEditor

          public StringArrayPropertyEditor(String separator,
                                           String charsToDelete,
                                           boolean emptyArrayAsNull,
                                           boolean trimValues)

      Create a new StringArrayPropertyEditor with the given separator.
      Parameters:
        `separator` - the separator to use for splitting a `String`
        `charsToDelete` - a set of characters to delete, in addition to trimming an input String. Useful for deleting unwanted line breaks: e.g. "\r\n\f" will delete all new lines and line feeds in a String.
        `emptyArrayAsNull` - `true` if an empty String array is to be transformed into `null`
        `trimValues` - `true` if the values in the parsed arrays are to be be trimmed of whitespace (default is true).

  - ### 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`