Package jakarta.el

Class ELUtil


  • class ELUtil
    extends java.lang.Object
    Utility methods for this portion of the Jakarta Expression Language 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.

    • 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
      The ThreadLocal variable used to record the jakarta.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​(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.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.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • instance

        private static java.lang.ThreadLocal<java.util.Map<java.lang.String,​java.util.ResourceBundle>> instance

        The ThreadLocal variable used to record the jakarta.faces.context.FacesContext instance for each processing thread.

    • Constructor Detail

      • ELUtil

        private ELUtil()
        This class may not be constructed.
    • 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)
      • 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)