refractor clickSupport and exposureSupport

This commit is contained in:
longerian
2018-03-05 17:02:28 +08:00
parent 50872ed418
commit 08635800f6
2 changed files with 18 additions and 10 deletions
@@ -93,10 +93,7 @@ public abstract class ExposureSupport {
private void findTraceMethods(Method[] methods) {
for (Method method : methods) {
String methodName = method.getName();
if (!methodName.equals(ON_TRACE_METHOD_NAME) && methodName.startsWith(
ON_TRACE_METHOD_NAME) ||
(methodName.startsWith(ON_TRACE_METHOD_PREFIX) && methodName.endsWith(
ON_TRACE_METHOD_POSTFIX))) {
if (isValidTraceMethodName(methodName)) {
int modifiers = method.getModifiers();
if ((modifiers & Modifier.PUBLIC) != 0 && (modifiers & MODIFIERS_IGNORE) == 0) {
Class<?>[] parameterTypes = method.getParameterTypes();
@@ -116,13 +113,15 @@ public abstract class ExposureSupport {
}
}
private boolean isValidTraceMethodName(String methodName) {
return !methodName.equals(ON_TRACE_METHOD_NAME) && methodName.startsWith(ON_TRACE_METHOD_NAME) ||
(methodName.startsWith(ON_TRACE_METHOD_PREFIX) && methodName.endsWith(ON_TRACE_METHOD_POSTFIX));
}
private void findExposureMethods(Method[] methods) {
for (Method method : methods) {
String methodName = method.getName();
if (!methodName.equals(ON_EXPOSURE_METHOD_NAME) && methodName.startsWith(
ON_EXPOSURE_METHOD_NAME) ||
(methodName.startsWith(ON_EXPOSURE_METHOD_PREFIX) && methodName.endsWith(
ON_EXPOSURE_METHOD_POSTFIX))) {
if (isValidExposureMethodName(methodName)) {
int modifiers = method.getModifiers();
if ((modifiers & Modifier.PUBLIC) != 0 && (modifiers & MODIFIERS_IGNORE) == 0) {
Class<?>[] parameterTypes = method.getParameterTypes();
@@ -142,6 +141,11 @@ public abstract class ExposureSupport {
}
}
private boolean isValidExposureMethodName(String methodName) {
return !methodName.equals(ON_EXPOSURE_METHOD_NAME) && methodName.startsWith(ON_EXPOSURE_METHOD_NAME) ||
(methodName.startsWith(ON_EXPOSURE_METHOD_PREFIX) && methodName.endsWith(ON_EXPOSURE_METHOD_POSTFIX));
}
/**
* enable opt mode, users route exposure handler by themselves, otherwise exposure handler is routed by inner and invoked by reflection
* @param optimizedMode true to enable opt mode
@@ -86,8 +86,7 @@ public abstract class SimpleClickSupport {
private void findClickMethods(Method[] methods) {
for (Method method : methods) {
String methodName = method.getName();
if (!methodName.equals(ON_CLICK_METHOD_NAME) && methodName.startsWith(ON_CLICK_METHOD_NAME) ||
(methodName.startsWith(ON_CLICK_METHOD_PREFIX) && methodName.endsWith(ON_CLICK_METHOD_POSTFIX))) {
if (isValidMethodName(methodName)) {
int modifiers = method.getModifiers();
if ((modifiers & Modifier.PUBLIC) != 0 && (modifiers & MODIFIERS_IGNORE) == 0) {
Class<?>[] parameterTypes = method.getParameterTypes();
@@ -113,6 +112,11 @@ public abstract class SimpleClickSupport {
}
}
private boolean isValidMethodName(String methodName) {
return !methodName.equals(ON_CLICK_METHOD_NAME) && methodName.startsWith(ON_CLICK_METHOD_NAME) ||
(methodName.startsWith(ON_CLICK_METHOD_PREFIX) && methodName.endsWith(ON_CLICK_METHOD_POSTFIX));
}
/**
* Handler click event on item
*