ReflectUtils { protected static boolean isBeanPropertyReadMethod(Method method) { return method != null && Modifier.isPublic(method.getModifiers()) && !Modifier.isStatic(method.getModifiers()) && method.getReturnType() != void.class && method.getDeclaringClass() != Object.class && method.getParameterTypes().length == 0 && (method.getName().startsWith("get") || method.getName().startsWith("is")) && (!"get".equals(method.getName()) && !"is".equals(method.getName())); }  static boolean isPrimitives(Class<?> clazz); static String getCodeBase(Class<?> cls); static Method getMethod(String clazzName, String methodName, String[] argsType); static Method getMethod(Class clazz, String methodName, Class... argsType); static Method getPropertySetterMethod(Class clazz, String property, Class propertyClazz); static Method getPropertyGetterMethod(Class clazz, String property);  }
@Test public void testIsBeanPropertyReadMethod() throws Exception { Assert.assertFalse(isBeanPropertyReadMethod(null)); Assert.assertTrue(isBeanPropertyReadMethod(TestReflect.class.getMethod("getS"))); Assert.assertFalse(isBeanPropertyReadMethod(TestReflect.class.getMethod("get"))); Assert.assertFalse(isBeanPropertyReadMethod(TestReflect.class.getMethod("is"))); Assert.assertFalse(isBeanPropertyReadMethod(TestReflect.class.getDeclaredMethod("get1"))); Assert.assertFalse(isBeanPropertyReadMethod(TestReflect.class.getMethod("get2"))); Assert.assertFalse(isBeanPropertyReadMethod(TestReflect.class.getMethod("get3"))); Assert.assertFalse(isBeanPropertyReadMethod(TestReflect.class.getMethod("get4", String.class))); Assert.assertFalse(isBeanPropertyReadMethod(TestReflect.class.getMethod("aget5"))); Assert.assertFalse(isBeanPropertyReadMethod(TestReflect.class.getMethod("ais5"))); }