X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=support%2Fgeneral%2Fsrc%2Fmain%2Fjava%2Forg%2Fwamblee%2Freflection%2FReflectionUtils.java;h=b5cfb2174edde641ac868cd744cb5210e8d7c63e;hb=4a575582a5c2999bd816b197d9cf274b4b3ddcd7;hp=0f33c1c261dac9fb7992570f4ae9a78aff669d58;hpb=ceeb0bfdf5ca631544fabd5c0a12ccc79e993e40;p=utils diff --git a/support/general/src/main/java/org/wamblee/reflection/ReflectionUtils.java b/support/general/src/main/java/org/wamblee/reflection/ReflectionUtils.java index 0f33c1c2..b5cfb217 100644 --- a/support/general/src/main/java/org/wamblee/reflection/ReflectionUtils.java +++ b/support/general/src/main/java/org/wamblee/reflection/ReflectionUtils.java @@ -23,7 +23,21 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +/** + * Some utilities for reflection. + * + * @author Erik Brakkee + */ public class ReflectionUtils { + + public static final List PRIMITIVE_WRAPPERS = createPrimitiveWrappers(); + + private static final List createPrimitiveWrappers() { + Class[] vals = { Boolean.class, Byte.class, Character.class, + Short.class, Integer.class, Long.class, Float.class, Double.class }; + return Arrays.asList(vals); + } + /** * Wraps a type by the corresponding wrapper type if it is a primitive type. * @@ -114,7 +128,7 @@ public class ReflectionUtils { Class... aExcludedClasses) { if (aClass.isInterface()) { throw new IllegalArgumentException(aClass.getName() + - " is not an interface."); + " is an interface."); } List found = new ArrayList(); getAllFields(aClass, found, Arrays.asList(aExcludedClasses)); @@ -136,4 +150,17 @@ public class ReflectionUtils { getAllFields(superClass, aFound, aExcludedClasses); } } + + /** + * Checks if a class is a primitive type or wrapper type. + * + * @param aClass + * @return + */ + public static boolean isPrimitive(Class aClass) { + if (aClass.isPrimitive()) { + return true; + } + return PRIMITIVE_WRAPPERS.contains(aClass); + } }