You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by eb...@apache.org on 2008/02/21 11:47:59 UTC
svn commit: r629741 -
/commons/proper/configuration/branches/configuration2_experimental/src/main/java/org/apache/commons/configuration2/PropertyConverter.java
Author: ebourg
Date: Thu Feb 21 02:47:45 2008
New Revision: 629741
URL: http://svn.apache.org/viewvc?rev=629741&view=rev
Log:
Fixed the String->char conversion necessary for BeanHelper without beanutils
Modified:
commons/proper/configuration/branches/configuration2_experimental/src/main/java/org/apache/commons/configuration2/PropertyConverter.java
Modified: commons/proper/configuration/branches/configuration2_experimental/src/main/java/org/apache/commons/configuration2/PropertyConverter.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/branches/configuration2_experimental/src/main/java/org/apache/commons/configuration2/PropertyConverter.java?rev=629741&r1=629740&r2=629741&view=diff
==============================================================================
--- commons/proper/configuration/branches/configuration2_experimental/src/main/java/org/apache/commons/configuration2/PropertyConverter.java (original)
+++ commons/proper/configuration/branches/configuration2_experimental/src/main/java/org/apache/commons/configuration2/PropertyConverter.java Thu Feb 21 02:47:45 2008
@@ -95,6 +95,10 @@
{
result = toBoolean(value);
}
+ else if (Character.class.equals(cls) || Character.TYPE.equals(cls))
+ {
+ result = toCharacter(value);
+ }
else if (Number.class.isAssignableFrom(cls) || cls.isPrimitive())
{
if (Integer.class.equals(cls) || Integer.TYPE.equals(cls))
@@ -205,6 +209,29 @@
else
{
throw new ConversionException("The value " + value + " can't be converted to a Boolean object");
+ }
+ }
+
+ /**
+ * Convert the specified object into a Character.
+ *
+ * @param value the value to convert
+ * @return the converted value
+ * @throws ConversionException thrown if the value cannot be converted to a character
+ */
+ static Character toCharacter(Object value) throws ConversionException
+ {
+ if (value instanceof Character)
+ {
+ return (Character) value;
+ }
+ else if (value instanceof CharSequence && ((CharSequence) value).length() == 1)
+ {
+ return ((CharSequence) value).charAt(0);
+ }
+ else
+ {
+ throw new ConversionException("The value " + value + " can't be converted to a Character object");
}
}