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.SecurityException
java.lang.NoSuchMethodException
public 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则表示忽略对返回值类型的判断。MethodAutoMatchingException
java.lang.Exception
public 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
- 可选参数的数组。optionalParameterNames
java.lang.Exception
MethodAutoMatchingException
public 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.