Package jakarta.el

## Class ExpressionFactory

- java.lang.Object
- - jakarta.el.ExpressionFactory

    public abstract class ExpressionFactory
    extends java.lang.Object

Since:
  2.1

### Constructor Summary

Constructors
`ExpressionFactory()`

### Method Summary

All Methods Static Methods Instance Methods Abstract Methods Concrete Methods
`abstract <T> T` `coerceToType​(java.lang.Object obj, java.lang.Class<T> expectedType)` Coerce the supplied object to the requested type.
`abstract MethodExpression` `createMethodExpression​(ELContext context, java.lang.String expression, java.lang.Class<?> expectedReturnType, java.lang.Class<?>[] expectedParamTypes)` Create a new method expression instance.
`abstract ValueExpression` `createValueExpression​(ELContext context, java.lang.String expression, java.lang.Class<?> expectedType)` Create a new value expression.
`abstract ValueExpression` `createValueExpression​(java.lang.Object instance, java.lang.Class<?> expectedType)`
`java.util.Map<java.lang.String,​java.lang.reflect.Method>` `getInitFunctionMap()`
`ELResolver` `getStreamELResolver()`
`static ExpressionFactory` `newInstance()` Create a new `ExpressionFactory`.
`static ExpressionFactory` `newInstance​(java.util.Properties properties)` Create a new `ExpressionFactory` passing in the provided `Properties`.

### Methods inherited from class java.lang.Object

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

### Constructor Detail

#### ExpressionFactory

    public ExpressionFactory()

### Method Detail

#### 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/jakarta.el.ExpressionFactory)
2. $JRE_HOME/lib/el.properties - key jakarta.el.ExpressionFactory
3. jakarta.el.ExpressionFactory
4. Platform default implementation - org.apache.el.ExpressionFactoryImpl

Returns:
  the new ExpressionFactory

#### newInstance

    public static ExpressionFactory newInstance​(java.util.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,
                                                          java.lang.String expression,
                                                          java.lang.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:
  `java.lang.NullPointerException` - If the expected type is `null`
  `ELException` - If there are syntax errors in the provided expression

#### createValueExpression

    public abstract ValueExpression createValueExpression​(java.lang.Object instance,
                                                          java.lang.Class<?> expectedType)

#### createMethodExpression

    public abstract MethodExpression createMethodExpression​(ELContext context,
                                                            java.lang.String expression,
                                                            java.lang.Class<?> expectedReturnType,
                                                            java.lang.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:
  `java.lang.NullPointerException` - If the expected parameters types are `null`
  `ELException` - If there are syntax errors in the provided expression

#### coerceToType

    public abstract <T> T coerceToType​(java.lang.Object obj,
                                       java.lang.Class<T> expectedType)

Coerce the supplied object to the requested type.

Type Parameters:
  `T` - The type to which the object should be coerced
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 java.util.Map<java.lang.String,​java.lang.reflect.Method> getInitFunctionMap()

Returns:
  This default implementation returns null
Since:
  EL 3.0