Package org.apache.jasper.compiler

# Interface ELInterpreter

All Known Implementing Classes:
  `ELInterpreterFactory.DefaultELInterpreter`, `ELInterpreterTagSetters`

public interface ELInterpreter
Defines the interface for the expression language interpreter. This allows users to provide custom EL interpreter implementations that can optimise EL processing for an application by , for example, performing code generation for simple expressions.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `String`
  `interpreterCall(JspCompilationContext context, boolean isTagFile, String expression, Class<?> expectedType, String fnmapvar)`
  Returns the string representing the code that will be inserted into the servlet generated for JSP.

- ## Method Details

  - ### interpreterCall

    String interpreterCall(JspCompilationContext context, boolean isTagFile, String expression, Class<?> expectedType, String fnmapvar)
    Returns the string representing the code that will be inserted into the servlet generated for JSP. The default implementation creates a call to `PageContextImpl.proprietaryEvaluate(String, Class, jakarta.servlet.jsp.PageContext, org.apache.jasper.runtime.ProtectedFunctionMapper)` but other implementations may produce more optimised code.
    Parameters:
      `context` - The compilation context
      `isTagFile` - `true` if in a tag file rather than a JSP
      `expression` - a String containing zero or more "${}" expressions
      `expectedType` - the expected type of the interpreted result
      `fnmapvar` - Variable pointing to a function map.
    Returns:
      a String representing a call to the EL interpreter.