ReflectionEngine { public Class<?> getClass(Class<?> clazz, String name) { Class<?> memberClass = null; try { for (Class<?> tempClass : clazz.getClasses()) { if (tempClass.getSimpleName().equals(name)) { memberClass = tempClass; break; } } } catch (Exception e) { memberClass = null; } return memberClass; }  Object createArray(String fqn, int[] dimensions); Class<?> getClass(Class<?> clazz, String name); Class<?>[] getClassParameters(Object[] parameters); MethodInvoker getConstructor(Class<?> clazz, Class<?>[] parameters); MethodInvoker getConstructor(String classFQN, Object[] parameters); Field getField(Class<?> clazz, String name); Field getField(Object obj, String name); Field getField(String classFQN, String name); Object getFieldValue(Object obj, Field field); Method getMethod(Class<?> clazz, String name); MethodInvoker getMethod(Class<?> clazz, String name, Class<?>[] parameters); MethodInvoker getMethod(Object object, String name, Object[] parameters); MethodInvoker getMethod(String classFQN, String name, Object[] parameters); Object invoke(Object object, MethodInvoker invoker, Object[] parameters); void setFieldValue(Object obj, Field field, Object value); String[] getPublicMethodNames(Object obj); String[] getPublicFieldNames(Object obj); String[] getPublicStaticFieldNames(Class<?> clazz); String[] getPublicStaticMethodNames(Class<?> clazz); String[] getPublicStaticClassNames(Class<?> clazz); String[] getPublicStaticNames(Class<?> clazz); final static int cacheSize; final static Object RETURN_VOID; }
@Test public void testGetClass() { assertNull(rEngine.getClass(Cat.class, "smallcat")); assertNotNull(rEngine.getClass(Cat.class, "SmallCat")); assertNull(rEngine.getClass(ReflectionEngineTest.class, "smallcat")); }