craigmcc 2002/12/21 11:53:24
Modified: beanutils/src/java/org/apache/commons/beanutils
ConvertUtils.java
Log:
Make the implementation of ConvertUtils.convert(Object) use the registered
Converter for java.lang.String instead of just doing a toString() operation.
This allows applications to plug in custom Object->String conversion
capabilities, although such a Converter would need to handle *all* required
conversions, instead of just one. The default implementation continues to
use toString(), preserving backwards compatibility.
PR: Bugzilla #14170
Submitted by: Brian Knorr <brian.knorr at nextjet.com>
Revision Changes Path
1.11 +15 -9
jakarta-commons/beanutils/src/java/org/apache/commons/beanutils/ConvertUtils.java
Index: ConvertUtils.java
===================================================================
RCS file:
/home/cvs/jakarta-commons/beanutils/src/java/org/apache/commons/beanutils/ConvertUtils.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- ConvertUtils.java 20 Jul 2002 18:21:21 -0000 1.10
+++ ConvertUtils.java 21 Dec 2002 19:53:24 -0000 1.11
@@ -324,7 +324,10 @@
/**
* Convert the specified value into a String. If the specified value
* is an array, the first element (converted to a String) will be
- * returned.
+ * returned. The registered {@link Converter} for the
+ * <code>java.lang.String</code> class will be used, which allows
+ * applications to customize Object->String conversions (the default
+ * implementation simply uses toString()).
*
* @param value Value to be converted (may be null)
*/
@@ -337,12 +340,15 @@
return (null);
}
value = Array.get(value, 0);
- if (value == null)
+ if (value == null) {
return ((String) null);
- else
- return (value.toString());
+ } else {
+ Converter converter = (Converter) converters.get(String.class);
+ return ((String) converter.convert(String.class, value));
+ }
} else {
- return (value.toString());
+ Converter converter = (Converter) converters.get(String.class);
+ return ((String) converter.convert(String.class, value));
}
}
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>