ExpressionFactory (EL 3.0 API Documentation - Apache Tomcat 9.0.111)
Description: declaration: package: javax.el, class: ExpressionFactory

# Class ExpressionFactory

java.lang.Object
javax.el.ExpressionFactory

public abstract class ExpressionFactory extends Object

Since:
  2.1

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ExpressionFactory()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `abstract Object`
  `coerceToType(Object obj, Class<?> expectedType)`
  Coerce the supplied object to the requested type.
  `abstract MethodExpression`
  `createMethodExpression(ELContext context, String expression, Class<?> expectedReturnType, Class<?>[] expectedParamTypes)`
  Create a new method expression instance.
  `abstract ValueExpression`
  `createValueExpression(Object instance, Class<?> expectedType)`
  `abstract ValueExpression`
  `createValueExpression(ELContext context, String expression, Class<?> expectedType)`
  Create a new value expression.
  `Map<String,Method>`
  `getInitFunctionMap()`
  `ELResolver`
  `getStreamELResolver()`
  `static ExpressionFactory`
  `newInstance()`
  Create a new `ExpressionFactory`.
  `static ExpressionFactory`
  `newInstance(Properties properties)`
  Create a new `ExpressionFactory` passing in the provided `Properties`.

  ### Methods inherited from class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### ExpressionFactory

    public ExpressionFactory()

- ## Method Details

  - ### newInstance

    public static ExpressionFactory newInstance()
    Create a new `ExpressionFactory`. The class to use is determined by the following search order:
    1. services API (META-INF/services/javax.el.ExpressionFactory)
    2. $JRE_HOME/lib/el.properties - key javax.el.ExpressionFactory
    3. javax.el.ExpressionFactory
    4. Platform default implementation - org.apache.el.ExpressionFactoryImpl
    Returns:
      the new ExpressionFactory

  - ### newInstance

    public static ExpressionFactory newInstance(Properties properties)
    Create a new `ExpressionFactory` passing in the provided `Properties`. Search order is the same as `newInstance()`.
    Parameters:
      `properties` - the properties to be passed to the new instance (may be null)
    Returns:
      the new ExpressionFactory

  - ### createValueExpression

    public abstract ValueExpression createValueExpression(ELContext context, String expression, Class<?> expectedType)
    Create a new value expression.
    Parameters:
      `context` - The EL context for this evaluation
      `expression` - The String representation of the value expression
      `expectedType` - The expected type of the result of evaluating the expression
    Returns:
      A new value expression formed from the input parameters
    Throws:
      `NullPointerException` - If the expected type is `null`
      `ELException` - If there are syntax errors in the provided expression

  - ### createValueExpression

    public abstract ValueExpression createValueExpression(Object instance, Class<?> expectedType)

  - ### createMethodExpression

    public abstract MethodExpression createMethodExpression(ELContext context, String expression, Class<?> expectedReturnType, Class<?>[] expectedParamTypes)
    Create a new method expression instance.
    Parameters:
      `context` - The EL context for this evaluation
      `expression` - The String representation of the method expression
      `expectedReturnType` - The expected type of the result of invoking the method
      `expectedParamTypes` - The expected types of the input parameters
    Returns:
      A new method expression formed from the input parameters.
    Throws:
      `NullPointerException` - If the expected parameters types are `null`
      `ELException` - If there are syntax errors in the provided expression

  - ### coerceToType

    public abstract Object coerceToType(Object obj, Class<?> expectedType)
    Coerce the supplied object to the requested type.
    Parameters:
      `obj` - The object to be coerced
      `expectedType` - The type to which the object should be coerced
    Returns:
      An instance of the requested type.
    Throws:
      `ELException` - If the conversion fails

  - ### getStreamELResolver

    public ELResolver getStreamELResolver()
    Returns:
      This default implementation returns null
    Since:
      EL 3.0

  - ### getInitFunctionMap

    public Map<String,Method> getInitFunctionMap()
    Returns:
      This default implementation returns null
    Since:
      EL 3.0