Interface Expression

  • All Known Subinterfaces:
    Add, BinaryExpression, Divide, Function, Literal, Multiply, PropertyName, Subtract
    All Known Implementing Classes:
    NilExpression

    @XmlElement("expression")
    public interface Expression
    Interface for all the OGC Filter elements that compute values.

    The most common use is with potentially using feature and metadata. The ability to access "attributes" based on the provided content is defined based on XPath queries currently.

    Since:
    GeoAPI 2.0
    • Field Detail

      • NIL

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

        This constant is a "NullObject" that can represent the absence 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.
      • evaluate

        <T> T evaluate​(Object object,
                       Class<T> context)
        Evaluates the given expression 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 necessary. 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:
        the 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);