Package com.sun.el.util
Class ReflectionUtil
- java.lang.Object
-
- com.sun.el.util.ReflectionUtil
-
public class ReflectionUtil extends java.lang.ObjectUtilities for Managing Serialization and Reflection- Version:
- $Change: 181177 $$DateTime: 2001/06/26 08:45:09 $$Author: kchung $
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classReflectionUtil.ConstructorWrapperprivate static classReflectionUtil.MethodWrapperprivate static classReflectionUtil.Wrapper
-
Field Summary
Fields Modifier and Type Field Description protected static java.lang.String[]EMPTY_STRINGprotected static java.lang.String[]PRIMITIVE_NAMESprotected static java.lang.Class[]PRIMITIVES
-
Constructor Summary
Constructors Modifier Constructor Description privateReflectionUtil()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description (package private) static java.lang.Object[]buildParameters(ELContext context, java.lang.Class<?>[] parameterTypes, boolean isVarArgs, java.lang.Object[] params)static java.lang.reflect.MethodfindMethod(java.lang.Class<?> clazz, java.lang.String methodName, java.lang.Class<?>[] paramTypes, java.lang.Object[] paramValues)private static ReflectionUtil.WrapperfindMostSpecificWrapper(java.util.List<ReflectionUtil.Wrapper> candidates, java.lang.Class<?>[] matchingTypes, boolean elSpecific, java.lang.String errorMsg)private static ReflectionUtil.WrapperfindWrapper(java.lang.Class<?> clazz, java.util.List<ReflectionUtil.Wrapper> wrappers, java.lang.String name, java.lang.Class<?>[] paramTypes, java.lang.Object[] paramValues)static java.lang.ClassforName(java.lang.String name)protected static java.lang.ClassforNamePrimitive(java.lang.String name)private static java.lang.Class<?>getBoxingTypeIfPrimitive(java.lang.Class<?> clazz)private static java.lang.Class<?>[]getComparingParamTypesForVarArgsMethod(java.lang.Class<?>[] paramTypes, int length)(package private) static java.lang.reflect.Constructor<?>getConstructor(java.lang.Class<?> type, java.lang.reflect.Constructor<?> c)(package private) static java.lang.reflect.MethodgetMethod(java.lang.Class<?> type, java.lang.reflect.Method m)static java.beans.PropertyDescriptorgetPropertyDescriptor(java.lang.Object base, java.lang.Object property)private static java.lang.Class<?>[]getTypesFromValues(java.lang.Object[] values)static java.lang.ObjectinvokeMethod(ELContext context, java.lang.reflect.Method m, java.lang.Object base, java.lang.Object[] params)(package private) static booleanisAssignableFrom(java.lang.Class<?> src, java.lang.Class<?> target)private static booleanisCoercibleFrom(java.lang.Object src, java.lang.Class<?> target)private static intisMoreSpecific(ReflectionUtil.Wrapper wrapper1, ReflectionUtil.Wrapper wrapper2, java.lang.Class<?>[] matchingTypes, boolean elSpecific)private static intisMoreSpecific(java.lang.Class<?> type1, java.lang.Class<?> type2, java.lang.Class<?> matchingType, boolean elSpecific)private static java.lang.StringparamString(java.lang.Class<?>[] types)static java.lang.Class[]toTypeArray(java.lang.String[] s)Converts an array of Class names to Class typesstatic java.lang.String[]toTypeNameArray(java.lang.Class[] c)Converts an array of Class types to Class names
-
-
-
Method Detail
-
forName
public static java.lang.Class forName(java.lang.String name) throws java.lang.ClassNotFoundException- Throws:
java.lang.ClassNotFoundException
-
forNamePrimitive
protected static java.lang.Class forNamePrimitive(java.lang.String name)
-
toTypeArray
public static java.lang.Class[] toTypeArray(java.lang.String[] s) throws java.lang.ClassNotFoundExceptionConverts an array of Class names to Class types- Parameters:
s-- Returns:
- The array of Classes
- Throws:
java.lang.ClassNotFoundException
-
toTypeNameArray
public static java.lang.String[] toTypeNameArray(java.lang.Class[] c)
Converts an array of Class types to Class names- Parameters:
c-- Returns:
- The array of Classes
-
getPropertyDescriptor
public static java.beans.PropertyDescriptor getPropertyDescriptor(java.lang.Object base, java.lang.Object property) throws ELException, PropertyNotFoundException- Parameters:
base- The base objectproperty- The property- Returns:
- The PropertyDescriptor for the base with the given property
- Throws:
ELExceptionPropertyNotFoundException
-
invokeMethod
public static java.lang.Object invokeMethod(ELContext context, java.lang.reflect.Method m, java.lang.Object base, java.lang.Object[] params)
-
findMethod
public static java.lang.reflect.Method findMethod(java.lang.Class<?> clazz, java.lang.String methodName, java.lang.Class<?>[] paramTypes, java.lang.Object[] paramValues)
-
findWrapper
private static ReflectionUtil.Wrapper findWrapper(java.lang.Class<?> clazz, java.util.List<ReflectionUtil.Wrapper> wrappers, java.lang.String name, java.lang.Class<?>[] paramTypes, java.lang.Object[] paramValues)
-
findMostSpecificWrapper
private static ReflectionUtil.Wrapper findMostSpecificWrapper(java.util.List<ReflectionUtil.Wrapper> candidates, java.lang.Class<?>[] matchingTypes, boolean elSpecific, java.lang.String errorMsg)
-
isMoreSpecific
private static int isMoreSpecific(ReflectionUtil.Wrapper wrapper1, ReflectionUtil.Wrapper wrapper2, java.lang.Class<?>[] matchingTypes, boolean elSpecific)
-
isMoreSpecific
private static int isMoreSpecific(java.lang.Class<?> type1, java.lang.Class<?> type2, java.lang.Class<?> matchingType, boolean elSpecific)
-
getBoxingTypeIfPrimitive
private static java.lang.Class<?> getBoxingTypeIfPrimitive(java.lang.Class<?> clazz)
-
getComparingParamTypesForVarArgsMethod
private static java.lang.Class<?>[] getComparingParamTypesForVarArgsMethod(java.lang.Class<?>[] paramTypes, int length)
-
paramString
private static final java.lang.String paramString(java.lang.Class<?>[] types)
-
isAssignableFrom
static boolean isAssignableFrom(java.lang.Class<?> src, java.lang.Class<?> target)
-
isCoercibleFrom
private static boolean isCoercibleFrom(java.lang.Object src, java.lang.Class<?> target)
-
getTypesFromValues
private static java.lang.Class<?>[] getTypesFromValues(java.lang.Object[] values)
-
getMethod
static java.lang.reflect.Method getMethod(java.lang.Class<?> type, java.lang.reflect.Method m)
-
getConstructor
static java.lang.reflect.Constructor<?> getConstructor(java.lang.Class<?> type, java.lang.reflect.Constructor<?> c)
-
buildParameters
static java.lang.Object[] buildParameters(ELContext context, java.lang.Class<?>[] parameterTypes, boolean isVarArgs, java.lang.Object[] params)
-
-