Interface Expression

    • Field Summary

      Fields 
      Modifier and Type Field Description
      static Expression NIL
      Constant expression that always evaulates to null.
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      Object accept​(ExpressionVisitor visitor, Object extraData)
      Accepts a visitor.
      Object evaluate​(Object object)
      Evaluates the given expression based on the content of the given object.
      <T> T evaluate​(Object object, Class<T> context)
      Evaluates the given expressoin based on the content of the given object and the context type.
    • 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);