Class ELInterpreterTagSetters

  • All Implemented Interfaces:
    ELInterpreter

    public class ELInterpreterTagSetters
    extends java.lang.Object
    implements ELInterpreter
    A non-specification compliant ELInterpreter 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
    The specification compliance issue is that it essentially skips the first three ELResolvers listed in section JSP.2.9 and effectively hard codes the use of the 4th ELResolver in that list.
    See Also:
    "https://bz.apache.org/bugzilla/show_bug.cgi?id=64872"
    • 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.
      • Methods inherited from class java.lang.Object

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

      • ELInterpreterTagSetters

        public ELInterpreterTagSetters()
    • Method Detail