Expression (EL 6.0 API Documentation - Apache Tomcat 11.0.23)
Description: declaration: package: jakarta.el, class: Expression

# Class Expression

java.lang.Object
jakarta.el.Expression

All Implemented Interfaces:
  `Serializable`

Direct Known Subclasses:
  `MethodExpression, ValueExpression`

public abstract class Expression extends Object implements Serializable
Base class for EL expression objects. An Expression represents a compiled EL expression that can be evaluated. Subclasses include `ValueExpression` and `MethodExpression`.

See Also:
  - Serialized Form

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Expression()`
  Constructs an Expression.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `abstract boolean`
  `equals(Object obj)`
  `abstract String`
  `getExpressionString()`
  Returns the original string representation of this EL expression as it was parsed.
  `abstract int`
  `hashCode()`
  `abstract boolean`
  `isLiteralText()`
  Returns whether this expression is a literal text expression, meaning it does not contain any variables, functions, or operators and evaluates to a constant value.

  ### Methods inherited from class Object

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

- ## Constructor Details

  - ### Expression

    public Expression()
    Constructs an Expression. Subclasses should invoke this constructor to initialize the base expression state.

- ## Method Details

  - ### getExpressionString

    public abstract String getExpressionString()
    Returns the original string representation of this EL expression as it was parsed.
    Returns:
      the string representation of this expression

  - ### equals

    public abstract boolean equals(Object obj)
    Overrides:
      `equals` in class `Object`

  - ### hashCode

    public abstract int hashCode()
    Overrides:
      `hashCode` in class `Object`

  - ### isLiteralText

    public abstract boolean isLiteralText()
    Returns whether this expression is a literal text expression, meaning it does not contain any variables, functions, or operators and evaluates to a constant value.
    Returns:
      `true` if this expression is a literal text, `false` otherwise