org.springframework.beans.propertyeditors
Class StringArrayPropertyEditor

java.lang.Object
  extended by java.beans.PropertyEditorSupport
      extended by 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
static String DEFAULT_SEPARATOR
          Default separator for splitting a String: a comma (",")
 
Constructor Summary
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
 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