Class ExpressionSupport

java.lang.Object
org.apache.commons.jelly.expression.ExpressionSupport
All Implemented Interfaces:
Expression
Direct Known Subclasses:
CompositeExpression, ConstantExpression, EscapingExpression, JexlExpression, XPathExpression

public abstract class ExpressionSupport extends Object implements Expression

ExpressionSupport an abstract base class for Expression implementations which provides default implementations of some of the typesafe evaluation methods.

Version:
$Revision: 155420 $
Author:
James Strachan
  • Field Details

    • EMPTY_ITERATOR

      protected static final Iterator EMPTY_ITERATOR
  • Constructor Details

    • ExpressionSupport

      public ExpressionSupport()
  • Method Details

    • evaluateAsString

      public String evaluateAsString(JellyContext context)
      Description copied from interface: Expression
      Evaluates the expression with the given context coercing the result to be a String.
      Specified by:
      evaluateAsString in interface Expression
    • evaluateRecurse

      public Object evaluateRecurse(JellyContext context)
      Description copied from interface: Expression
      This method evaluates the expression until a value (a non-Expression) object is returned. If the expression returns another expression, then the nested expression is evaluated.

      Sometimes when Jelly is used inside Maven the value of an expression can actually be another expression. For example if a properties file is read, the values of variables can actually be expressions themselves.

      e.g. ${foo.bar} can lookup "foo.bar" in a Maven context which could actually be another expression.

      So using this method, nested expressions can be evaluated to the actual underlying value object.

      Specified by:
      evaluateRecurse in interface Expression
    • evaluateAsBoolean

      public boolean evaluateAsBoolean(JellyContext context)
      Description copied from interface: Expression
      Evaluates the expression with the given context coercing the result to be a boolean.
      Specified by:
      evaluateAsBoolean in interface Expression
    • evaluateAsIterator

      public Iterator evaluateAsIterator(JellyContext context)
      Description copied from interface: Expression
      Evaluates the expression with the given context coercing the result to be an Iterator.
      Specified by:
      evaluateAsIterator in interface Expression