Interface ExpressionEvaluator

  • All Known Implementing Classes:
    Evaluator

    public interface ExpressionEvaluator

    The interface for an expression-language validator and evaluator. Classes that implement an expression language expose their functionality via this interface.

    The validate() and evaluate() methods must be thread-safe. That is, multiple threads may call these methods on the same ExpressionEvaluator object simultaneously. Implementations should synchronize access if they depend on transient state. Implementations should not, however, assume that only one object of each ExpressionEvaluator type will be instantiated; global caching should therefore be static. No release() mechanism or robust lifecycle is specified, for language-interpreter pluggability is experimental in EA2.

    WARNING: This class supports experimentation for the EA2 release of JSTL; it is not expected to be part of the final RI or specification.

    Author:
    Shawn Bayern (based exactly on rev1 draft)
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      java.lang.Object evaluate​(java.lang.String attributeName, java.lang.String expression, java.lang.Class expectedType, javax.servlet.jsp.tagext.Tag tag, javax.servlet.jsp.PageContext pageContext)
      Evaluates the expression at request time.
      java.lang.String validate​(java.lang.String attributeName, java.lang.String expression)
      Translation time validation of an expression.
    • Method Detail

      • validate

        java.lang.String validate​(java.lang.String attributeName,
                                  java.lang.String expression)
        Translation time validation of an expression. This method will return a null String if the expression is valid; otherwise an error message.
      • evaluate

        java.lang.Object evaluate​(java.lang.String attributeName,
                                  java.lang.String expression,
                                  java.lang.Class expectedType,
                                  javax.servlet.jsp.tagext.Tag tag,
                                  javax.servlet.jsp.PageContext pageContext)
                           throws javax.servlet.jsp.JspException
        Evaluates the expression at request time.
        Throws:
        javax.servlet.jsp.JspException