JUNEAU-128 Code improvements around DynamicSwaps
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanSession.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanSession.java
index d8221f7..9f0a2f4 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanSession.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanSession.java
@@ -299,7 +299,8 @@
ClassInfo nc = swap.getNormalClass(), fc = swap.getSwapClass();
if (nc.isParentOf(tc) && fc.isParentOf(value.getClass()))
return (T)swap.unswap(this, value, to);
- if (value instanceof Number && fc.isNumeric()) {
+ ClassMeta fcm = getClassMeta(fc.inner());
+ if (fcm.isNumber() && value instanceof Number) {
value = convertToMemberType(null, value, fc.inner());
return (T)swap.unswap(this, value, to);
}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/ClassInfo.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/ClassInfo.java
index 7ac1db5..6ab9fee 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/ClassInfo.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/ClassInfo.java
@@ -1516,24 +1516,6 @@
return c != null && ! c.isInterface();
}
- /**
- * Returns <jk>true</jk> if this class is a numeric type.
- *
- * <p>
- * The class either extends from {@link Number} or is a primitive numeric type (any primitive other than <jk>char</jk>).
- *
- * @return <jk>true</jk> if this class is a numeric type.
- */
- public boolean isNumeric() {
- if (c == null)
- return false;
- if (Number.class.isAssignableFrom(c))
- return true;
- if (c.isPrimitive())
- return c == short.class || c == int.class || c == long.class || c == double.class || c == float.class || c == byte.class;
- return false;
- }
-
//-----------------------------------------------------------------------------------------------------------------
// Primitive wrappers
//-----------------------------------------------------------------------------------------------------------------