com.bstek.dorado.data.method
public abstract class MethodAutoMatchingUtils extends java.lang.Object
| Constructor and Description |
|---|
MethodAutoMatchingUtils() |
| Modifier and Type | Method and Description |
|---|---|
static java.lang.reflect.Method[] |
getMethodsByName(java.lang.Class<?> cl,
java.lang.String methodName)
返回给定的类中匹配某一方法名的所有方法。
|
static java.lang.String[] |
getParameterNames(java.lang.reflect.Method method) |
static java.lang.reflect.Type |
getTypeForMatching(DataType dataType) |
static java.lang.reflect.Type |
getTypeForMatching(java.lang.Object object) |
static int |
indexOfTypes(java.lang.reflect.Type[] types,
java.lang.reflect.Type type)
查找给定的Class类型在Class类型数组中的下标位置,如果未找到相容的类型则返回-1。
此处所指的相容是指Class类型数组中的某类型与要查找的Class类型相同,或是要查找的Class类型的父类型。 |
static java.lang.Object |
invokeMethod(java.lang.reflect.Method[] methods,
java.lang.Object object,
java.lang.String[] requiredParameterNames,
java.lang.Object[] requiredParameters,
java.lang.String[] optionalParameterNames,
java.lang.Object[] optionalParameters,
java.lang.String[] extraParameterNames,
java.lang.Object[] extraParameters)
在给定的一组方法中根据参数名查找一个匹配的方法,并调用该方法。
注意,此方法将忽略方法参数的顺序。 |
static java.lang.Object |
invokeMethod(java.lang.reflect.Method[] methods,
java.lang.Object object,
java.lang.reflect.Type[] requiredParameterTypes,
java.lang.Object[] requiredParameters,
java.lang.reflect.Type[] exactParameterTypes,
java.lang.Object[] exactParameters,
java.lang.reflect.Type[] optionalParameterTypes,
java.lang.Object[] optionalParameters,
java.lang.reflect.Type returnType)
在给定的一组方法中根据方法名、方法参数类型和返回值类型查找一个匹配的方法,并调用该方法。
|
static boolean |
isSimpleType(java.lang.reflect.Type type) |
public static int indexOfTypes(java.lang.reflect.Type[] types,
java.lang.reflect.Type type)
types - Class类型数组。type - 要查找的Class类型。public static java.lang.reflect.Method[] getMethodsByName(java.lang.Class<?> cl,
java.lang.String methodName)
cl - 被查找的类。methodName - 方法名。public static boolean isSimpleType(java.lang.reflect.Type type)
public static java.lang.String[] getParameterNames(java.lang.reflect.Method method)
throws java.lang.SecurityException,
java.lang.NoSuchMethodException
java.lang.SecurityExceptionjava.lang.NoSuchMethodExceptionpublic static java.lang.Object invokeMethod(java.lang.reflect.Method[] methods,
java.lang.Object object,
java.lang.reflect.Type[] requiredParameterTypes,
java.lang.Object[] requiredParameters,
java.lang.reflect.Type[] exactParameterTypes,
java.lang.Object[] exactParameters,
java.lang.reflect.Type[] optionalParameterTypes,
java.lang.Object[] optionalParameters,
java.lang.reflect.Type returnType)
throws MethodAutoMatchingException,
java.lang.Exception
methods - 方法数组。object - 方法的宿主对象。requiredParameterTypes - 必须提供的方法参数类型。requiredParameters - 必须的方法参数。exactParameterTypes - 类型必须严格匹配的方法参数类型。exactParameters - 类型必须严格匹配的方法参数。optionalParameterTypes - 可选的方法参数类型。optionalParameters - 可选的方法参数。returnType - 返回值类型,如果为null则表示忽略对返回值类型的判断。MethodAutoMatchingExceptionjava.lang.Exceptionpublic static java.lang.Object invokeMethod(java.lang.reflect.Method[] methods,
java.lang.Object object,
java.lang.String[] requiredParameterNames,
java.lang.Object[] requiredParameters,
java.lang.String[] optionalParameterNames,
java.lang.Object[] optionalParameters,
java.lang.String[] extraParameterNames,
java.lang.Object[] extraParameters)
throws MethodAutoMatchingException,
java.lang.Exception
methods - 方法数组。object - 方法的宿主对象。requiredParameterNames - 必选参数名的数组。requiredParameters - 必选参数的数组。optionalParameterNames - 可选参数名的数组。optionalParameters - 可选参数的数组。optionalParameterNamesjava.lang.ExceptionMethodAutoMatchingExceptionpublic static java.lang.reflect.Type getTypeForMatching(java.lang.Object object)
public static java.lang.reflect.Type getTypeForMatching(DataType dataType)
Copyright © 2001-2011 www.BSTEK.com All Rights Reserved.