diff options
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.java | 78 |
1 files changed, 40 insertions, 38 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 3d995e5..551e4ce 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 @@ -177,7 +177,7 @@ public class ValueConverter { anObject = preprocess(anObject); if (anObject instanceof Number) { - return new Short(((Number) anObject).shortValue()); + return Short.valueOf(((Number) anObject).shortValue()); } try { @@ -194,16 +194,16 @@ public class ValueConverter { static public Integer getInteger(Object anObject) { if (anObject == null) - return new Integer(0); + return Integer.valueOf(0); if ("".equals(anObject)) - return new Integer(0); + return Integer.valueOf(0); if (anObject instanceof Integer) return (Integer) anObject; anObject = preprocess(anObject); if (anObject instanceof Number) { - return new Integer(((Number) anObject).intValue()); + return Integer.valueOf(((Number) anObject).intValue()); } try { @@ -220,16 +220,16 @@ public class ValueConverter { static public Long getLong(Object anObject) { if (anObject == null) - return new Long(0); + return Long.valueOf(0); if ("".equals(anObject)) - return new Long(0); + return Long.valueOf(0); if (anObject instanceof Long) return (Long) anObject; anObject = preprocess(anObject); if (anObject instanceof Number) { - return new Long(((Number) anObject).longValue()); + return Long.valueOf(((Number) anObject).longValue()); } try { @@ -246,16 +246,16 @@ public class ValueConverter { static public Double getDouble(Object anObject) { if (anObject == null) - return new Double(0.0); + return Double.valueOf(0.0); if ("".equals(anObject)) - return new Double(0); + return Double.valueOf(0); if (anObject instanceof Double) return (Double) anObject; anObject = preprocess(anObject); if (anObject instanceof Number) { - return new Double(((Number) anObject).doubleValue()); + return Double.valueOf(((Number) anObject).doubleValue()); } try { @@ -272,16 +272,16 @@ public class ValueConverter { static public Float getFloat(Object anObject) { if (anObject == null) - return new Float(0.0); + return Float.valueOf(0.0f); if ("".equals(anObject)) - return new Float(0.0); + return Float.valueOf(0.0f); if (anObject instanceof Float) return (Float) anObject; anObject = preprocess(anObject); if (anObject instanceof Number) { - return new Float(((Number) anObject).floatValue()); + return Float.valueOf(((Number) anObject).floatValue()); } try { @@ -298,18 +298,18 @@ public class ValueConverter { static public Character getCharacter(Object anObject) { if (anObject == null) - return new Character((char) 0); + return Character.valueOf((char) 0); if (anObject instanceof Character) return (Character) anObject; anObject = preprocess(anObject); if (anObject instanceof Number) { - return new Character((char) ((Number) anObject).byteValue()); + return Character.valueOf((char) ((Number) anObject).byteValue()); } try { - return new Character(anObject.toString().charAt(0)); + return Character.valueOf(anObject.toString().charAt(0)); } catch (Exception exc) { return null; } @@ -322,16 +322,16 @@ public class ValueConverter { static public Byte getByte(Object anObject) { if (anObject == null) - return new Byte(Byte.MIN_VALUE); + return Byte.valueOf(Byte.MIN_VALUE); if ("".equals(anObject)) - return new Byte(Byte.MIN_VALUE); + return Byte.valueOf(Byte.MIN_VALUE); if (anObject instanceof Byte) return (Byte) anObject; anObject = preprocess(anObject); if (anObject instanceof Number) { - return new Byte(((Number) anObject).byteValue()); + return Byte.valueOf(((Number) anObject).byteValue()); } try { @@ -364,14 +364,14 @@ public class ValueConverter { return (Boolean) anObject; } if (anObject instanceof Number) { - return new Boolean(((Number) anObject).doubleValue() == 0.0); + return Boolean.valueOf(((Number) anObject).doubleValue() == 0.0); } if (anObject instanceof String) { if (anObject.toString().toLowerCase().equals("yes")) { return Boolean.TRUE; } - return new Boolean((String) anObject); + return Boolean.valueOf((String) anObject); } return null; @@ -396,24 +396,25 @@ public class ValueConverter { * in any other way, resorts to creating a new collection of the specified type * containing the specified object. */ - static public Collection getCollection(Object anObject, Class aCollectionClass) { + @SuppressWarnings("unchecked") + static public Collection<?> getCollection(Object anObject, Class<?> aCollectionClass) { if (anObject == null) return null; if (aCollectionClass.isAssignableFrom(anObject.getClass())) { - return (Collection) anObject; + return (Collection<?>) anObject; } - Collection converted = null; + Collection<Object> converted = null; // convert to collection class if (anObject instanceof Collection) { - converted = (Collection) anObject; + converted = (Collection<Object>) anObject; } else // try to convert an array if (anObject.getClass().isArray()) { try { int length = Array.getLength(anObject); - converted = new LinkedList(); + converted = new LinkedList<>(); for (int i = 0; i < length; i++) { converted.add(Array.get(anObject, i)); } @@ -423,25 +424,25 @@ public class ValueConverter { } else // convert map values to collection and pass through if (anObject instanceof Map) { - converted = ((Map) anObject).values(); + converted = ((Map<?, Object>) anObject).values(); } // fall back on list containing the object if (converted == null) { - converted = new LinkedList(); + converted = new LinkedList<>(); converted.add(anObject); } - Collection result = null; + Collection<Object> result = null; if (converted != null) { try { // collections required to have the copy constructor. - Constructor ctor = aCollectionClass.getConstructor(new Class[] { Collection.class }); - result = (Collection) ctor.newInstance(new Object[] { converted }); + Constructor<?> ctor = aCollectionClass.getConstructor(new Class[] { Collection.class }); + result = (Collection<Object>) ctor.newInstance(new Object[] { converted }); } catch (Exception exc) { try { - result = new LinkedList(); + result = new LinkedList<>(); result.addAll(converted); } catch (Exception exc2) { // all attempts failed @@ -456,7 +457,8 @@ public class ValueConverter { /** * Convert the object to the specified array type. */ - static public Object getArray(Object anObject, Class anArrayClass) { + @SuppressWarnings("unchecked") + static public Object getArray(Object anObject, Class<?> anArrayClass) { if (anObject == null) return null; @@ -475,14 +477,14 @@ public class ValueConverter { } // convert map values to collection and pass through if (anObject instanceof Map) { - anObject = ((Map) anObject).values(); + anObject = ((Map<?, Object>) anObject).values(); } // try to convert a collection if (anObject instanceof Collection) { try { - int length = ((Collection) anObject).size(); + int length = ((Collection<?>) anObject).size(); Object result = Array.newInstance(anArrayClass.getComponentType(), length); - Iterator it = ((Collection) anObject).iterator(); + Iterator<?> it = ((Collection<?>) anObject).iterator(); for (int i = 0; i < length; i++) { Array.set(result, i, it.next()); } @@ -545,12 +547,12 @@ public class ValueConverter { public static Object invert(Object anObject) { if (anObject == null) return null; - Class aClass = anObject.getClass(); + Class<?> aClass = anObject.getClass(); if (((anObject instanceof Number) && !(anObject instanceof Byte) && !(anObject instanceof Character)) || (aClass == short.class) || (aClass == int.class) || (aClass == long.class) || (aClass == float.class) || (aClass == double.class)) { - return convertObjectToClass(new Double(getDoubleValue(anObject) * -1), aClass); + return convertObjectToClass(Double.valueOf(getDoubleValue(anObject) * -1), aClass); } Boolean converted = getBoolean(anObject); |
