Package org.apache.jasper.optimizations
Class ELInterpreterTagSetters
- java.lang.Object
-
- org.apache.jasper.optimizations.ELInterpreterTagSetters
-
- All Implemented Interfaces:
ELInterpreter
public class ELInterpreterTagSetters extends java.lang.Object implements ELInterpreter
A non-specification compliantELInterpreter
that optimizes a subset of setters for tag attributes.The cases optimized by this implementation are:
- expressions that are solely a literal boolean
- expressions that are solely a constant string used (with coercion where necessary) with a setter that accepts:
- boolean / Boolean
- char / Character
- BigDecimal
- long / Long
- int / Integer
- short / Short
- byte / Byte
- double / Double
- float / Float
- BigInteger
- Enum
- String
ELResolver
s listed in section JSP.2.9 and effectively hard codes the use of the 4thELResolver
in that list.- See Also:
- "https://bz.apache.org/bugzilla/show_bug.cgi?id=64872"
-
-
Constructor Summary
Constructors Constructor Description ELInterpreterTagSetters()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.String
interpreterCall(JspCompilationContext context, boolean isTagFile, java.lang.String expression, java.lang.Class<?> expectedType, java.lang.String fnmapvar)
Returns the string representing the code that will be inserted into the servlet generated for JSP.
-
-
-
Method Detail
-
interpreterCall
public java.lang.String interpreterCall(JspCompilationContext context, boolean isTagFile, java.lang.String expression, java.lang.Class<?> expectedType, java.lang.String fnmapvar)
Description copied from interface:ELInterpreter
Returns the string representing the code that will be inserted into the servlet generated for JSP. The default implementation creates a call toPageContextImpl.proprietaryEvaluate( String, Class, javax.servlet.jsp.PageContext, org.apache.jasper.runtime.ProtectedFunctionMapper)
but other implementations may produce more optimised code.- Specified by:
interpreterCall
in interfaceELInterpreter
- Parameters:
context
- The compilation contextisTagFile
-true
if in a tag file rather than a JSPexpression
- a String containing zero or more "${}" expressionsexpectedType
- the expected type of the interpreted resultfnmapvar
- Variable pointing to a function map.- Returns:
- a String representing a call to the EL interpreter.
-
-