class ELUtil
extends java.lang.Object
Utility methods for this portion of the EL implementation
Methods on this class use a Map instance stored in ThreadLocal storage to minimize the performance impact on operations that take place multiple times on a single Thread. The keys and values of the Map are implementation private.
Modifier and Type | Class and Description |
---|---|
private static class |
ELUtil.ConstructorWrapper |
private static class |
ELUtil.MethodWrapper |
private static class |
ELUtil.Wrapper |
Modifier and Type | Field and Description |
---|---|
static ExpressionFactory |
exprFactory |
private static java.lang.ThreadLocal<java.util.Map<java.lang.String,java.util.ResourceBundle>> |
instance
The
ThreadLocal variable used to record the
javax.faces.context.FacesContext instance for each
processing thread. |
Modifier | Constructor and Description |
---|---|
private |
ELUtil()
This class may not be constructed.
|
Modifier and Type | Method and Description |
---|---|
(package private) static java.lang.Object[] |
buildParameters(ELContext context,
java.lang.Class<?>[] parameterTypes,
boolean isVarArgs,
java.lang.Object[] params) |
(package private) static java.lang.reflect.Constructor<?> |
findConstructor(java.lang.Class<?> klass,
java.lang.Class<?>[] paramTypes,
java.lang.Object[] params) |
(package private) static java.lang.reflect.Method |
findMethod(java.lang.Class<?> clazz,
java.lang.String methodName,
java.lang.Class<?>[] paramTypes,
java.lang.Object[] paramValues) |
(package private) static java.lang.reflect.Method |
findMethod(java.lang.Class<?> klass,
java.lang.String method,
java.lang.Class<?>[] paramTypes,
java.lang.Object[] params,
boolean staticOnly) |
private static ELUtil.Wrapper |
findMostSpecificWrapper(java.util.List<ELUtil.Wrapper> candidates,
java.lang.Class<?>[] matchingTypes,
boolean elSpecific,
java.lang.String errorMsg) |
private static ELUtil.Wrapper |
findWrapper(java.lang.Class<?> clazz,
java.util.List<ELUtil.Wrapper> wrappers,
java.lang.String name,
java.lang.Class<?>[] paramTypes,
java.lang.Object[] paramValues) |
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) |
private static java.util.Map<java.lang.String,java.util.ResourceBundle> |
getCurrentInstance() |
static java.lang.String |
getExceptionMessageString(ELContext context,
java.lang.String messageId) |
static java.lang.String |
getExceptionMessageString(ELContext context,
java.lang.String messageId,
java.lang.Object[] params) |
(package private) static ExpressionFactory |
getExpressionFactory() |
(package private) static java.lang.reflect.Method |
getMethod(java.lang.Class<?> type,
java.lang.reflect.Method m) |
private static java.lang.Class<?>[] |
getTypesFromValues(java.lang.Object[] values) |
(package private) static java.lang.Object |
invokeConstructor(ELContext context,
java.lang.reflect.Constructor<?> c,
java.lang.Object[] params) |
(package private) static java.lang.Object |
invokeMethod(ELContext context,
java.lang.reflect.Method m,
java.lang.Object base,
java.lang.Object[] params) |
(package private) static boolean |
isAssignableFrom(java.lang.Class<?> src,
java.lang.Class<?> target) |
private static boolean |
isCoercibleFrom(java.lang.Object src,
java.lang.Class<?> target) |
private static int |
isMoreSpecific(java.lang.Class<?> type1,
java.lang.Class<?> type2,
java.lang.Class<?> matchingType,
boolean elSpecific) |
private static int |
isMoreSpecific(ELUtil.Wrapper wrapper1,
ELUtil.Wrapper wrapper2,
java.lang.Class<?>[] matchingTypes,
boolean elSpecific) |
private static java.lang.String |
paramString(java.lang.Class<?>[] types) |
private static void |
setCurrentInstance(java.util.Map<java.lang.String,java.util.ResourceBundle> context)
Replace the Map with the argument context.
|
public static ExpressionFactory exprFactory
private static java.lang.ThreadLocal<java.util.Map<java.lang.String,java.util.ResourceBundle>> instance
The ThreadLocal
variable used to record the
javax.faces.context.FacesContext
instance for each
processing thread.
private static java.util.Map<java.lang.String,java.util.ResourceBundle> getCurrentInstance()
private static void setCurrentInstance(java.util.Map<java.lang.String,java.util.ResourceBundle> context)
Replace the Map with the argument context.
context
- the Map to be stored in ThreadLocal storage.public static java.lang.String getExceptionMessageString(ELContext context, java.lang.String messageId)
public static java.lang.String getExceptionMessageString(ELContext context, java.lang.String messageId, java.lang.Object[] params)
static ExpressionFactory getExpressionFactory()
static java.lang.reflect.Constructor<?> findConstructor(java.lang.Class<?> klass, java.lang.Class<?>[] paramTypes, java.lang.Object[] params)
static java.lang.Object invokeConstructor(ELContext context, java.lang.reflect.Constructor<?> c, java.lang.Object[] params)
static java.lang.reflect.Method findMethod(java.lang.Class<?> klass, java.lang.String method, java.lang.Class<?>[] paramTypes, java.lang.Object[] params, boolean staticOnly)
static java.lang.Object invokeMethod(ELContext context, java.lang.reflect.Method m, java.lang.Object base, java.lang.Object[] params)
static java.lang.reflect.Method findMethod(java.lang.Class<?> clazz, java.lang.String methodName, java.lang.Class<?>[] paramTypes, java.lang.Object[] paramValues)
private static ELUtil.Wrapper findWrapper(java.lang.Class<?> clazz, java.util.List<ELUtil.Wrapper> wrappers, java.lang.String name, java.lang.Class<?>[] paramTypes, java.lang.Object[] paramValues)
private static ELUtil.Wrapper findMostSpecificWrapper(java.util.List<ELUtil.Wrapper> candidates, java.lang.Class<?>[] matchingTypes, boolean elSpecific, java.lang.String errorMsg)
private static int isMoreSpecific(ELUtil.Wrapper wrapper1, ELUtil.Wrapper wrapper2, java.lang.Class<?>[] matchingTypes, boolean elSpecific)
private static int isMoreSpecific(java.lang.Class<?> type1, java.lang.Class<?> type2, java.lang.Class<?> matchingType, boolean elSpecific)
private static java.lang.Class<?> getBoxingTypeIfPrimitive(java.lang.Class<?> clazz)
private static java.lang.Class<?>[] getComparingParamTypesForVarArgsMethod(java.lang.Class<?>[] paramTypes, int length)
private static final java.lang.String paramString(java.lang.Class<?>[] types)
static boolean isAssignableFrom(java.lang.Class<?> src, java.lang.Class<?> target)
private static boolean isCoercibleFrom(java.lang.Object src, java.lang.Class<?> target)
private static java.lang.Class<?>[] getTypesFromValues(java.lang.Object[] values)
static java.lang.reflect.Method getMethod(java.lang.Class<?> type, java.lang.reflect.Method m)
static java.lang.reflect.Constructor<?> getConstructor(java.lang.Class<?> type, java.lang.reflect.Constructor<?> c)
static java.lang.Object[] buildParameters(ELContext context, java.lang.Class<?>[] parameterTypes, boolean isVarArgs, java.lang.Object[] params)