You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@velocity.apache.org by nb...@apache.org on 2008/08/28 22:59:31 UTC
svn commit: r689980 -
/velocity/tools/trunk/src/main/java/org/apache/velocity/tools/generic/ConversionTool.java
Author: nbubna
Date: Thu Aug 28 13:59:31 2008
New Revision: 689980
URL: http://svn.apache.org/viewvc?rev=689980&view=rev
Log:
make it easy to trim the members of string lists
Modified:
velocity/tools/trunk/src/main/java/org/apache/velocity/tools/generic/ConversionTool.java
Modified: velocity/tools/trunk/src/main/java/org/apache/velocity/tools/generic/ConversionTool.java
URL: http://svn.apache.org/viewvc/velocity/tools/trunk/src/main/java/org/apache/velocity/tools/generic/ConversionTool.java?rev=689980&r1=689979&r2=689980&view=diff
==============================================================================
--- velocity/tools/trunk/src/main/java/org/apache/velocity/tools/generic/ConversionTool.java (original)
+++ velocity/tools/trunk/src/main/java/org/apache/velocity/tools/generic/ConversionTool.java Thu Aug 28 13:59:31 2008
@@ -56,14 +56,17 @@
public class ConversionTool extends LocaleConfig
{
public static final String STRINGS_DELIMITER_FORMAT_KEY = "stringsDelimiter";
+ public static final String STRINGS_TRIM_KEY = "trimStrings";
public static final String DATE_FORMAT_KEY = "dateFormat";
public static final String NUMBER_FORMAT_KEY = "numberFormat";
public static final String DEFAULT_STRINGS_DELIMITER = ",";
+ public static final boolean DEFAULT_STRINGS_TRIM = true;
public static final String DEFAULT_NUMBER_FORMAT = "default";
public static final String DEFAULT_DATE_FORMAT = "default";
private String stringsDelimiter = DEFAULT_STRINGS_DELIMITER;
+ private boolean stringsTrim = DEFAULT_STRINGS_TRIM;
private String numberFormat = DEFAULT_NUMBER_FORMAT;
private String dateFormat = DEFAULT_DATE_FORMAT;
@@ -112,6 +115,23 @@
return this.stringsDelimiter;
}
+ /**
+ * Sets whether strings should be trimmed when separated from
+ * a delimited string value.
+ * The default is true.
+ *
+ * @see #parseStringList
+ */
+ protected final void setStringsTrim(boolean stringsTrim)
+ {
+ this.stringsTrim = stringsTrim;
+ }
+
+ public final boolean getStringsTrim()
+ {
+ return this.stringsTrim;
+ }
+
protected final void setNumberFormat(String format)
{
this.numberFormat = format;
@@ -643,16 +663,28 @@
/**
* Converts a single String value into an array of Strings by splitting
- * it on the tool's set stringsDelimiter. The default stringsDelimiter is a comma.
- *
+ * it on the tool's set stringsDelimiter. The default stringsDelimiter is a comma,
+ * and by default, all strings parsed out are trimmed before returning.
*/
protected String[] parseStringList(String value)
{
+ String[] values;
if (value.indexOf(this.stringsDelimiter) < 0)
{
- return new String[] { value };
+ values = new String[] { value };
+ }
+ else
+ {
+ values = value.split(this.stringsDelimiter);
+ }
+ if (this.stringsTrim)
+ {
+ for (int i=0,l=values.length; i < l; i++)
+ {
+ values[i] = values[i].trim();
+ }
}
- return value.split(this.stringsDelimiter);
+ return values;
}
/**