Interface Expression

All Known Subinterfaces:
Add, BinaryExpression, Categorize, CoverageReadingTransformation, Divide, Function, FunctionExpression, GeometryTransformation, InternalFunction, Interpolate, Literal, MapItem, MultipleValue, Multiply, PropertyName, Recode, RenderingTransformation, Subtract, VolatileFunction
All Known Implementing Classes:
AbstractHSLFunction, AbstractQuantityClassificationFunction, AddImpl, AndFunction, AreaFunction, ArrayFunction, AsMultiGeometryFunctionExpression, AtFunction, AttributeCountFunction, AttributeExpressionImpl, BandsFunction, BoundedByFunction, CategorizeFunction, ClassificationFunction, ClassifyFunction, Collection_AverageFunction, Collection_BoundsFunction, Collection_CountFunction, Collection_MaxFunction, Collection_MedianFunction, Collection_MinFunction, Collection_NearestFunction, Collection_SumFunction, Collection_UniqueFunction, CollectionIdFunction, CollectionLinkFunction, ConcatenateFunction, ConstantExpression, ConstrastFunction, CSSFunction, DarkenFunction, DateDifferenceFunction, DefaultExpression, DefaultIfNullFunction, DesaturateFunction, DivideImpl, EnvFunction, EqualAreaFunction, EqualIntervalFunction, ExponentialFunction, ExpressionAbstract, FallbackFunction, FilterFunction_abs, FilterFunction_abs_2, FilterFunction_abs_3, FilterFunction_abs_4, FilterFunction_acos, FilterFunction_area, FilterFunction_asin, FilterFunction_atan, FilterFunction_atan2, FilterFunction_between, FilterFunction_boundary, FilterFunction_boundaryDimension, FilterFunction_buffer, FilterFunction_bufferWithSegments, FilterFunction_ceil, FilterFunction_centroid, FilterFunction_contains, FilterFunction_Convert, FilterFunction_convexHull, FilterFunction_cos, FilterFunction_crosses, FilterFunction_dateFormat, FilterFunction_dateParse, FilterFunction_difference, FilterFunction_dimension, FilterFunction_disjoint, FilterFunction_disjoint3D, FilterFunction_distance, FilterFunction_distance3D, FilterFunction_double2bool, FilterFunction_endAngle, FilterFunction_endPoint, FilterFunction_envelope, FilterFunction_equalsExact, FilterFunction_equalsExactTolerance, FilterFunction_equalTo, FilterFunction_exp, FilterFunction_exteriorRing, FilterFunction_floor, FilterFunction_geometryType, FilterFunction_geomFromWKT, FilterFunction_geomLength, FilterFunction_getGeometryN, FilterFunction_getX, FilterFunction_getY, FilterFunction_getZ, FilterFunction_greaterEqualThan, FilterFunction_greaterThan, FilterFunction_IEEEremainder, FilterFunction_if_then_else, FilterFunction_in10, FilterFunction_in2, FilterFunction_in3, FilterFunction_in4, FilterFunction_in5, FilterFunction_in6, FilterFunction_in7, FilterFunction_in8, FilterFunction_in9, FilterFunction_int2bbool, FilterFunction_int2ddouble, FilterFunction_interiorPoint, FilterFunction_interiorRingN, FilterFunction_intersection, FilterFunction_intersects, FilterFunction_intersects3D, FilterFunction_isClosed, FilterFunction_isCoverage, FilterFunction_isEmpty, FilterFunction_isLike, FilterFunction_isNull, FilterFunction_isometric, FilterFunction_isRing, FilterFunction_isSimple, FilterFunction_isValid, FilterFunction_isWithinDistance, FilterFunction_isWithinDistance3D, FilterFunction_lessEqualThan, FilterFunction_lessThan, FilterFunction_list, FilterFunction_listMultiply, FilterFunction_log, FilterFunction_max, FilterFunction_max_2, FilterFunction_max_3, FilterFunction_max_4, FilterFunction_min, FilterFunction_min_2, FilterFunction_min_3, FilterFunction_min_4, FilterFunction_minimumCircle, FilterFunction_minimumDiameter, FilterFunction_minimumRectangle, FilterFunction_not, FilterFunction_notEqualTo, FilterFunction_numberFormat, FilterFunction_numberFormat2, FilterFunction_numGeometries, FilterFunction_numInteriorRing, FilterFunction_numPoints, FilterFunction_octagonalEnvelope, FilterFunction_offset, FilterFunction_overlaps, FilterFunction_parseBoolean, FilterFunction_parseDouble, FilterFunction_parseInt, FilterFunction_parseLong, FilterFunction_pgNearest, FilterFunction_pointN, FilterFunction_pow, FilterFunction_property, FilterFunction_random, FilterFunction_relate, FilterFunction_relatePattern, FilterFunction_rint, FilterFunction_round, FilterFunction_round_2, FilterFunction_roundDouble, FilterFunction_sdonn, FilterFunction_setCRS, FilterFunction_sin, FilterFunction_sqrt, FilterFunction_startAngle, FilterFunction_startPoint, FilterFunction_strAbbreviate, FilterFunction_strCapitalize, FilterFunction_strConcat, FilterFunction_strDefaultIfBlank, FilterFunction_strEndsWith, FilterFunction_strEqualsIgnoreCase, FilterFunction_strIndexOf, FilterFunction_strLastIndexOf, FilterFunction_strLength, FilterFunction_strMatches, FilterFunction_strPosition, FilterFunction_strReplace, FilterFunction_strStartsWith, FilterFunction_strStripAccents, FilterFunction_strSubstring, FilterFunction_strSubstringStart, FilterFunction_strToLowerCase, FilterFunction_strToUpperCase, FilterFunction_strTrim, FilterFunction_strTrim2, FilterFunction_symDifference, FilterFunction_tan, FilterFunction_toDegrees, FilterFunction_toRadians, FilterFunction_touches, FilterFunction_toWKT, FilterFunction_union, FilterFunction_vertices, FilterFunction_within, FontAlternativesFunction, FootprintsTransformation, FormatDateTimezoneFunction, FunctionExpressionImpl, FunctionImpl, GeometryFunction, GetFunction, GrayscaleFunction, HasFunction, HSLFunction, IDFunction, IDFunctionExpression, InArrayFunction, InFunction, IntegerDivisionFunction, InternalVolatileFunction, InterpolateFunction, JdbcMultipleValue, JenksNaturalBreaksFunction, JoinPropertyName, JsonArrayContainsFunction, JsonPointerFunction, JsonSelectAllFunction, JsonSelectFunction, LapplyFunction, LengthFunction, LightenFunction, LinFunction, ListSizeFunction, LitemFunction, LiteralExpressionImpl, LiterateFunction, MapBoxAnchorFunction, MapBoxFontBaseNameFunction, MapBoxFontStyleFunction, MapBoxFontWeightFunction, MapBoxLengthFunction, MapGetFunction, MathExpressionImpl, MBColor, MBDecision, MBExpression, MBFeatureData, MBHeatmap, MBLookup, MBMath, MBRampsScalesCurves, MBString, MBTypes, MBVariableBinding, MBZoom, MidAngleFunction, MidPointFunction, MixFunction, ModuloFunction, MultiplyImpl, NestedAttributeExpression, NestedCollectionLinkFunction, NilExpression, NorthFix, NowFunction, OrFunction, OverlapBehaviorImpl, PaletteFunction, ParameterCQLExpressionPropertyName, ParseTimeFunction, PiFunction, PointOnLineFunction, PolygonLabelFunction, ProcessFunction, PropertyExistsFunction, QuantileFunction, RecodeFunction, ReprojectingFilterVisitor.FunctionReprojector, RescaleToPixelsFunction, SaturateFunction, ShadeFunction, SizeFunction, SpinFunction, StandardDeviationFunction, StringInFunction, StringTemplateFunction, StringTransformFunction, SubtractImpl, TintFunction, ToDirectPositionFunction, ToEnvelopeFunction, ToLineStringFunction, ToPointFunction, ToRgb, ToXlinkHrefFunction, UniqueIntervalFunction, URLEncodeFunction, VocabFunction, ZoomLevelFunction

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
Author:
Chris Dillard (SYS Technologies), Justin Deoliveira (The Open Planning Project)
  • Field Summary

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

    Modifier and Type
    Method
    Description
    accept(ExpressionVisitor visitor, Object extraData)
    Accepts a visitor.
    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 Details

    • 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 Details

    • 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);