1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- package cn.nosum.support.endpoint;
- import lombok.Data;
- import lombok.SneakyThrows;
- import org.apache.commons.logging.Log;
- import org.apache.commons.logging.LogFactory;
- import java.lang.reflect.Method;
- /**
- * Dynamic method section wrapper class.
- *
- * @author Young
- */
- @Data
- public class MethodEndpoint {
- private final Log logger = LogFactory.getLog(getClass());
- private Object bean;
- private String beanName;
- private Method method;
- public boolean isMatcher(Object... args) {
- if (null == args || args.length == 0) {
- return method.getParameterTypes().length == 0;
- }
- Class<?>[] parameterTypes = method.getParameterTypes();
- if (args.length == parameterTypes.length) {
- for (int i = 0; i < parameterTypes.length; i++) {
- if (!(parameterTypes[i] == args[i].getClass())) {
- return false;
- }
- }
- return true;
- }
- return false;
- }
- @SneakyThrows
- public Object invoke(Object... args) {
- return method.invoke(bean, args);
- }
- }
|