summaryrefslogtreecommitdiff
path: root/projects/net.wotonomy.foundation/src/main/java/net/wotonomy/foundation/internal/ValueConverter.java
diff options
context:
space:
mode:
Diffstat (limited to 'projects/net.wotonomy.foundation/src/main/java/net/wotonomy/foundation/internal/ValueConverter.java')
-rw-r--r--projects/net.wotonomy.foundation/src/main/java/net/wotonomy/foundation/internal/ValueConverter.java59
1 files changed, 30 insertions, 29 deletions
diff --git a/projects/net.wotonomy.foundation/src/main/java/net/wotonomy/foundation/internal/ValueConverter.java b/projects/net.wotonomy.foundation/src/main/java/net/wotonomy/foundation/internal/ValueConverter.java
index 7f28e06..3d995e5 100644
--- a/projects/net.wotonomy.foundation/src/main/java/net/wotonomy/foundation/internal/ValueConverter.java
+++ b/projects/net.wotonomy.foundation/src/main/java/net/wotonomy/foundation/internal/ValueConverter.java
@@ -37,69 +37,70 @@ public class ValueConverter {
* Returns the specified object as converted to an instance of the specified
* class, or null if the conversion could not be performed.
*/
- static public Object convertObjectToClass(Object anObject, Class aClass) {
+ @SuppressWarnings("unchecked")
+ static public <C> C convertObjectToClass(Object anObject, Class<C> aClass) {
if (aClass == String.class) {
- return getString(anObject);
+ return (C) getString(anObject);
}
if (aClass == Short.class) {
- return getShort(anObject);
+ return (C) getShort(anObject);
}
if (aClass == short.class) {
- return getShort(anObject);
+ return (C) getShort(anObject);
}
if (aClass == Integer.class) {
- return getInteger(anObject);
+ return (C) getInteger(anObject);
}
if (aClass == int.class) {
- return getInteger(anObject);
+ return (C) getInteger(anObject);
}
if (aClass == Long.class) {
- return getLong(anObject);
+ return (C) getLong(anObject);
}
if (aClass == long.class) {
- return getLong(anObject);
+ return (C) getLong(anObject);
}
if (aClass == Float.class) {
- return getFloat(anObject);
+ return (C) getFloat(anObject);
}
if (aClass == float.class) {
- return getFloat(anObject);
+ return (C) getFloat(anObject);
}
if (aClass == Double.class) {
- return getDouble(anObject);
+ return (C) getDouble(anObject);
}
if (aClass == double.class) {
- return getDouble(anObject);
+ return (C) getDouble(anObject);
}
if (aClass == java.util.Date.class) {
- return getDate(anObject);
+ return (C) getDate(anObject);
}
if (aClass == Boolean.class) {
- return getBoolean(anObject);
+ return (C) getBoolean(anObject);
}
if (aClass == boolean.class) {
- return getBoolean(anObject);
+ return (C) getBoolean(anObject);
}
if (aClass == Character.class) {
- return getCharacter(anObject);
+ return (C) getCharacter(anObject);
}
if (aClass == char.class) {
- return getCharacter(anObject);
+ return (C) getCharacter(anObject);
}
if (aClass == Byte.class) {
- return getByte(anObject);
+ return (C) getByte(anObject);
}
if (aClass == byte.class) {
- return getByte(anObject);
+ return (C) getByte(anObject);
}
if (Collection.class.isAssignableFrom(aClass)) {
- return getCollection(anObject, aClass);
+ return (C) getCollection(anObject, aClass);
}
if (aClass.isArray()) {
- return getArray(anObject, aClass);
+ return (C) getArray(anObject, aClass);
}
- return convert(anObject, aClass);
+ return (C) convert(anObject, aClass);
}
/**
@@ -108,10 +109,10 @@ public class ValueConverter {
* the best fit to the object. and returns a new instance with that constructor.
* Subclasses can override to directly support specific types.
*/
- static protected Object convert(Object anObject, Class aClass) {
- Constructor[] ctors = aClass.getConstructors();
+ static protected Object convert(Object anObject, Class<?> aClass) {
+ Constructor<?>[] ctors = aClass.getConstructors();
- Class[] types;
+ Class<?>[] types;
for (int i = 0; i < ctors.length; i++) {
types = ctors[i].getParameterTypes();
if (types.length == 1) {
@@ -148,9 +149,9 @@ public class ValueConverter {
static protected Object preprocess(Object anObject) {
if (anObject instanceof Boolean) {
if (((Boolean) anObject).booleanValue()) {
- return new Double(1.0);
+ return Double.valueOf(1.0);
}
- return new Double(0.0);
+ return Double.valueOf(0.0);
}
if (anObject instanceof Character) {
@@ -167,9 +168,9 @@ public class ValueConverter {
static public Short getShort(Object anObject) {
if (anObject == null)
- return new Short((short) 0);
+ return Short.valueOf((short) 0);
if ("".equals(anObject))
- return new Short((short) 0);
+ return Short.valueOf((short) 0);
if (anObject instanceof Short)
return (Short) anObject;