Interface Expression

    • Field Detail

      • NIL

        static final Expression NIL
        Constant expression that always evaulates to null.

        This constant is a "NullObject" that can represent the absense of expression in a data structures. As example it can be used to represent the default stroke color in a LineSymbolizer Stroke structure.

    • Method Detail

      • evaluate

        Object evaluate​(Object object)
        Evaluates the given expression based on the content of the given object.
        Returns:
        computed value
      • evaluate

        <T> T evaluate​(Object object,
                       Class<T> context)
        Evaluates the given expressoin based on the content of the given object and the context type.

        The context parameter is used to control the type of the result of the expression. A particular expression may not be able to evaluate to an instance of context. Therefore to be safe calling code should do a null check on the return value of this method, and call evaluate(Object) if neccessary. Example:

          Object input = ...;
          String result = expression.evaluate( input, String.class );
          if ( result == null ) {
             result = expression.evalute( input ).toString();
          }
          ...
         

        Implementations that can not return a result as an instance of context should return null.

        Type Parameters:
        T - The type of the returned object.
        Parameters:
        object - The object to evaluate the expression against.
        context - The type of the resulting value of the expression.
        Returns:
        Evaluates the given expression based on the content of the given object an an instance of context.
      • accept

        Object accept​(ExpressionVisitor visitor,
                      Object extraData)
        Accepts a visitor. Subclasses must implement with a method whose content is the following:
        return visitor.visit(this, extraData);