Package org.apache.jasper.runtime
Class ProtectedFunctionMapper
java.lang.Object
jakarta.el.FunctionMapper
org.apache.jasper.runtime.ProtectedFunctionMapper
- All Implemented Interfaces:
FunctionMapper
Maps EL functions to their Java method counterparts. Keeps the actual Method
objects protected so that JSP pages can't indirectly do reflection.
- Author:
- Mark Roth, Kin-man Chung
-
Method Summary
Modifier and TypeMethodDescriptionstatic ProtectedFunctionMapper
Generated Servlet and Tag Handler implementations call this method to retrieve an instance of the ProtectedFunctionMapper.static ProtectedFunctionMapper
getMapForFunction
(String fnQName, Class<?> c, String methodName, Class<?>[] args) Creates an instance for this class, and stores the Method for the given EL function prefix and name.void
mapFunction
(String fnQName, Class<?> c, String methodName, Class<?>[] args) Stores a mapping from the given EL function prefix and name to the given Java method.resolveFunction
(String prefix, String localName) Resolves the specified local name and prefix into a Java.lang.Method.Methods inherited from class jakarta.el.FunctionMapper
mapFunction
-
Method Details
-
getInstance
Generated Servlet and Tag Handler implementations call this method to retrieve an instance of the ProtectedFunctionMapper.- Returns:
- A new protected function mapper.
-
mapFunction
Stores a mapping from the given EL function prefix and name to the given Java method.- Parameters:
fnQName
- The EL function qualified name (including prefix)c
- The class containing the Java methodmethodName
- The name of the Java methodargs
- The arguments of the Java method- Throws:
RuntimeException
- if no method with the given signature could be found.
-
getMapForFunction
public static ProtectedFunctionMapper getMapForFunction(String fnQName, Class<?> c, String methodName, Class<?>[] args) Creates an instance for this class, and stores the Method for the given EL function prefix and name. This method is used for the case when there is only one function in the EL expression.- Parameters:
fnQName
- The EL function qualified name (including prefix)c
- The class containing the Java methodmethodName
- The name of the Java methodargs
- The arguments of the Java method- Returns:
- the mapped function
- Throws:
RuntimeException
- if no method with the given signature could be found.
-
resolveFunction
Resolves the specified local name and prefix into a Java.lang.Method. Returns null if the prefix and local name are not found.- Specified by:
resolveFunction
in interfaceFunctionMapper
- Specified by:
resolveFunction
in classFunctionMapper
- Parameters:
prefix
- the prefix of the functionlocalName
- the short name of the function- Returns:
- the result of the method mapping. Null means no entry found.
-