org.springframework.beans.propertyeditors
Class StringArrayPropertyEditor

java.lang.Object
  extended by java.beans.PropertyEditorSupport
      extended by org.springframework.beans.propertyeditors.StringArrayPropertyEditor
All Implemented Interfaces:
java.beans.PropertyEditor

public class StringArrayPropertyEditor
extends java.beans.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
private  java.lang.String charsToDelete
           
static java.lang.String DEFAULT_SEPARATOR
          Default separator for splitting a String: a comma (",")
private  boolean emptyArrayAsNull
           
private  java.lang.String separator
           
private  boolean trimValues
           
 
Constructor Summary
StringArrayPropertyEditor()
          Create a new StringArrayPropertyEditor with the default separator (a comma).
StringArrayPropertyEditor(java.lang.String separator)
          Create a new StringArrayPropertyEditor with the given separator.
StringArrayPropertyEditor(java.lang.String separator, boolean emptyArrayAsNull)
          Create a new StringArrayPropertyEditor with the given separator.
StringArrayPropertyEditor(java.lang.String separator, boolean emptyArrayAsNull, boolean trimValues)
          Create a new StringArrayPropertyEditor with the given separator.
StringArrayPropertyEditor(java.lang.String separator, java.lang.String charsToDelete, boolean emptyArrayAsNull)
          Create a new StringArrayPropertyEditor with the given separator.
StringArrayPropertyEditor(java.lang.String separator, java.lang.String charsToDelete, boolean emptyArrayAsNull, boolean trimValues)
          Create a new StringArrayPropertyEditor with the given separator.
 
Method Summary
 java.lang.String getAsText()
           
 void setAsText(java.lang.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 java.lang.String DEFAULT_SEPARATOR
Default separator for splitting a String: a comma (",")

See Also:
Constant Field Values

separator

private final java.lang.String separator

charsToDelete

private final java.lang.String charsToDelete

emptyArrayAsNull

private final boolean emptyArrayAsNull

trimValues

private final boolean trimValues
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(java.lang.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(java.lang.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(java.lang.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(java.lang.String separator,
                                 java.lang.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(java.lang.String separator,
                                 java.lang.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(java.lang.String text)
               throws java.lang.IllegalArgumentException
Specified by:
setAsText in interface java.beans.PropertyEditor
Overrides:
setAsText in class java.beans.PropertyEditorSupport
Throws:
java.lang.IllegalArgumentException

getAsText

public java.lang.String getAsText()
Specified by:
getAsText in interface java.beans.PropertyEditor
Overrides:
getAsText in class java.beans.PropertyEditorSupport