# 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.