Package javax.el
Class ELUtil
- java.lang.Object
-
- javax.el.ELUtil
-
class ELUtil extends java.lang.Object
Utility methods for this portion of the Jakarta Expression Language implementationMethods 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.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
ELUtil.ConstructorWrapper
private static class
ELUtil.MethodWrapper
private static class
ELUtil.Wrapper
-
Field Summary
Fields Modifier and Type Field Description static ExpressionFactory
exprFactory
private static java.lang.ThreadLocal<java.util.Map<java.lang.String,java.util.ResourceBundle>>
instance
TheThreadLocal
variable used to record thejavax.faces.context.FacesContext
instance for each processing thread.
-
Constructor Summary
Constructors Modifier Constructor Description private
ELUtil()
This class may not be constructed.
-
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)
(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 methodName, 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)
Convenience method, calls through to getExceptionMessageString(ELContext,java.lang.String,Object []).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<?> constructor, java.lang.Object[] params)
(package private) static java.lang.Object
invokeMethod(ELContext context, java.lang.reflect.Method method, 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.
-
-
-
Field Detail
-
exprFactory
public static ExpressionFactory exprFactory
-
instance
private static java.lang.ThreadLocal<java.util.Map<java.lang.String,java.util.ResourceBundle>> instance
The
ThreadLocal
variable used to record thejavax.faces.context.FacesContext
instance for each processing thread.
-
-
Method Detail
-
getCurrentInstance
private static java.util.Map<java.lang.String,java.util.ResourceBundle> getCurrentInstance()
- Returns:
- a Map stored in ThreadLocal storage. This may be used by methods of this class to minimize the performance impact for operations that may take place multiple times on a given Thread instance.
-
setCurrentInstance
private static void setCurrentInstance(java.util.Map<java.lang.String,java.util.ResourceBundle> context)
Replace the Map with the argument context.- Parameters:
context
- the Map to be stored in ThreadLocal storage.
-
getExceptionMessageString
public static java.lang.String getExceptionMessageString(ELContext context, java.lang.String messageId)
Convenience method, calls through to getExceptionMessageString(ELContext,java.lang.String,Object []).- Parameters:
context
- the ELContext from which the Locale for this message is extracted.messageId
- the messageId String in the ResourceBundle- Returns:
- a localized String for the argument messageId
-
getExceptionMessageString
public static java.lang.String getExceptionMessageString(ELContext context, java.lang.String messageId, java.lang.Object[] params)
-
getExpressionFactory
static ExpressionFactory getExpressionFactory()
-
findConstructor
static java.lang.reflect.Constructor<?> findConstructor(java.lang.Class<?> klass, java.lang.Class<?>[] paramTypes, java.lang.Object[] params)
-
invokeConstructor
static java.lang.Object invokeConstructor(ELContext context, java.lang.reflect.Constructor<?> constructor, java.lang.Object[] params)
-
findMethod
static java.lang.reflect.Method findMethod(java.lang.Class<?> klass, java.lang.String methodName, java.lang.Class<?>[] paramTypes, java.lang.Object[] params, boolean staticOnly)
-
invokeMethod
static java.lang.Object invokeMethod(ELContext context, java.lang.reflect.Method method, java.lang.Object base, java.lang.Object[] params)
-
findMethod
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 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)
-
findMostSpecificWrapper
private static ELUtil.Wrapper findMostSpecificWrapper(java.util.List<ELUtil.Wrapper> candidates, java.lang.Class<?>[] matchingTypes, boolean elSpecific, java.lang.String errorMsg)
-
isMoreSpecific
private static int isMoreSpecific(ELUtil.Wrapper wrapper1, ELUtil.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)
-
-