Interface FilterFactory

    • Method Detail

      • featureId

        FeatureId featureId​(String id)
        Creates a new feautre id from a string
      • featureId

        FeatureId featureId​(String fid,
                            String featureVersion)
        Creates a new feature id with version information
      • gmlObjectId

        GmlObjectId gmlObjectId​(String id)
        Creates a new gml object id from a string
      • resourceId

        ResourceId resourceId​(String fid,
                              String featureVersion,
                              Version version)
        ResouceId for identifier based query
      • resourceId

        ResourceId resourceId​(String fid,
                              Date startTime,
                              Date endTime)
        ResourceId for time based query.

        Date range constructor for a feature id; none or one of start and end can be null, making for an unconstrained date range at either of the ends.

        Parameters:
        fid - feature id, non null;
        startTime - lower end timestamp of the time range, inclusive, or null only if end != null
        endTime - upper end timestamp of the time range, inclusive, or null only if start != null
      • and

        And and​(List<Filter> f)
        AND filter between a list of filters.
      • or

        Or or​(List<Filter> f)
        OR filter between a list of filters.
      • not

        Not not​(Filter f)
        Reverses the logical value of a filter.
      • id

        Id id​(Set<? extends Identifier> ids)
        Passes only for objects that have one of the IDs given to this object.
      • property

        PropertyName property​(String name)
        Retrieves the value of a feature's property.
      • notEqual

        PropertyIsNotEqualTo notEqual​(Expression expr1,
                                      Expression expr2,
                                      boolean matchCase)
        Checks that the first sub-expression is not equal to the second subexpression.
        Parameters:
        expr1 - first expression
        expr2 - second expression
        matchCase - true if the comparison should be case insensitive
        Returns:
        evaluates to true of expr1 not equal to expr2
      • notEqual

        PropertyIsNotEqualTo notEqual​(Expression expr1,
                                      Expression expr2,
                                      boolean matchCase,
                                      MultiValuedFilter.MatchAction matchAction)
        Checks that the first sub-expression is not equal to the second subexpression.
        Parameters:
        expr1 - first expression
        expr2 - second expression
        matchCase - true if the comparison should be case insensitive
        matchAction - action for multi-valued properties
        Returns:
        evaluates to true of expr1 not equal to expr2
      • greater

        PropertyIsGreaterThan greater​(Expression expr1,
                                      Expression expr2,
                                      boolean matchCase)
        Checks that the first sub-expression is greater than the second subexpression.
        Parameters:
        expr1 - first expression
        expr2 - second expression
        matchCase - true if the comparison should be case insensitive
        Returns:
        evaluates to true of expr1 is greater than expr2
      • greater

        PropertyIsGreaterThan greater​(Expression expr1,
                                      Expression expr2,
                                      boolean matchCase,
                                      MultiValuedFilter.MatchAction matchAction)
        Checks that the first sub-expression is greater than the second subexpression.
        Parameters:
        expr1 - first expression
        expr2 - second expression
        matchCase - true if the comparison should be case insensitive
        Returns:
        evaluates to true of expr1 is greater than expr2
      • like

        PropertyIsLike like​(Expression expr,
                            String pattern)
        Character string comparison operator with pattern matching and default wildcards.
      • like

        PropertyIsLike like​(Expression expr,
                            String pattern,
                            String wildcard,
                            String singleChar,
                            String escape)
        Character string comparison operator with pattern matching and specified wildcards.
      • like

        PropertyIsLike like​(Expression expr,
                            String pattern,
                            String wildcard,
                            String singleChar,
                            String escape,
                            boolean matchCase)
        Character string comparison operator with pattern matching and specified wildcards.
      • like

        PropertyIsLike like​(Expression expr,
                            String pattern,
                            String wildcard,
                            String singleChar,
                            String escape,
                            boolean matchCase,
                            MultiValuedFilter.MatchAction matchAction)
        Character string comparison operator with pattern matching and specified wildcards.
      • bbox

        BBOX bbox​(String propertyName,
                  double minx,
                  double miny,
                  double maxx,
                  double maxy,
                  String srs)
        Checks if the bounding box of the feature's geometry overlaps the indicated bounds.

        This method is defined in strict accordance with the Filter 1.0 specification, you may find the FilterFactory.bbox(Expression, BoundingBox) to be easier to use.

        Parameters:
        propertyName - Name of geometry property (for a PropertyName to access a Feature's Geometry)
        minx - Minimum "x" value (for a literal BoundingBox)
        miny - Minimum "y" value (for a literal BoundingBox)
        maxx - Maximum "x" value (for a literal BoundingBox)
        maxy - Maximum "y" value (for a literal BoundingBox)
        srs - Indicating the CoordinateReferenceSystem to use for a literal BoundingBox
      • bbox

        BBOX bbox​(String propertyName,
                  double minx,
                  double miny,
                  double maxx,
                  double maxy,
                  String srs,
                  MultiValuedFilter.MatchAction matchAction)
        Checks if the bounding box of the feature's geometry overlaps the indicated bounds.

        This method is defined in strict accordance with the Filter 1.0 specification, you may find the FilterFactory.bbox(Expression, BoundingBox) to be easier to use.

        Parameters:
        propertyName - Name of geometry property (for a PropertyName to access a Feature's Geometry)
        minx - Minimum "x" value (for a literal BoundingBox)
        miny - Minimum "y" value (for a literal BoundingBox)
        maxx - Maximum "x" value (for a literal BoundingBox)
        maxy - Maximum "y" value (for a literal BoundingBox)
        srs - Indicating the CoordinateReferenceSystem to use for a literal BoundingBox
      • beyond

        Beyond beyond​(String propertyName,
                      Geometry geometry,
                      double distance,
                      String units)
        Check if all of a feature's geometry is more distant than the given distance from this object's geometry.
      • beyond

        Beyond beyond​(String propertyName,
                      Geometry geometry,
                      double distance,
                      String units,
                      MultiValuedFilter.MatchAction matchAction)
        Check if all of a feature's geometry is more distant than the given distance from this object's geometry.
      • contains

        Contains contains​(String propertyName,
                          Geometry geometry)
        Checks if the the first geometric operand contains the second.
      • crosses

        Crosses crosses​(String propertyName,
                        Geometry geometry)
        Checks if the first geometric operand crosses the second.
      • disjoint

        Disjoint disjoint​(String propertyName,
                          Geometry geometry)
        Checks if the first operand is disjoint from the second.
      • dwithin

        DWithin dwithin​(String propertyName,
                        Geometry geometry,
                        double distance,
                        String units)
        Checks if any part of the first geometry lies within the given distance of the second geometry.
      • dwithin

        DWithin dwithin​(String propertyName,
                        Geometry geometry,
                        double distance,
                        String units,
                        MultiValuedFilter.MatchAction matchAction)
        Checks if any part of the first geometry lies within the given distance of the second geometry.
      • equals

        Equals equals​(String propertyName,
                      Geometry geometry)
        Checks if the geometry of the two operands are equal.
      • intersects

        Intersects intersects​(String propertyName,
                              Geometry geometry)
        Checks if the two geometric operands intersect.
      • overlaps

        Overlaps overlaps​(String propertyName,
                          Geometry geometry)
        Checks if the interior of the first geometry somewhere overlaps the interior of the second geometry.
      • overlaps

        Overlaps overlaps​(String propertyName,
                          Geometry geometry,
                          MultiValuedFilter.MatchAction matchAction)
        Checks if the interior of the first geometry somewhere overlaps the interior of the second geometry.
      • touches

        Touches touches​(String propertyName,
                        Geometry geometry)
        Checks if the feature's geometry touches, but does not overlap with the geometry held by this object.
      • touches

        Touches touches​(String propertyName,
                        Geometry geometry,
                        MultiValuedFilter.MatchAction matchAction)
        Checks if the feature's geometry touches, but does not overlap with the geometry held by this object.
      • within

        Within within​(String propertyName,
                      Geometry geometry)
        Checks if the feature's geometry is completely contained by the specified constant geometry.
      • within

        Within within​(String propertyName,
                      Geometry geometry,
                      MultiValuedFilter.MatchAction matchAction)
        Checks if the feature's geometry is completely contained by the specified constant geometry.
      • add

        Add add​(Expression expr1,
                Expression expr2)
        Computes the numeric addition of the first and second operand.
      • divide

        Divide divide​(Expression expr1,
                      Expression expr2)
        Computes the numeric quotient resulting from dividing the first operand by the second.
      • subtract

        Subtract subtract​(Expression expr1,
                          Expression expr2)
        Computes the numeric difference between the first and second operand.
      • function

        Function function​(String name,
                          Expression... args)
        Call into some implementation-specific function.
      • function

        Function function​(Name name,
                          Expression... args)
        Call into some implementation-specific function.
      • literal

        Literal literal​(Object obj)
        A constant, literal value that can be used in expressions.
      • literal

        Literal literal​(byte b)
        A constant, literal Byte value that can be used in expressions.
      • literal

        Literal literal​(short s)
        A constant, literal Short value that can be used in expressions.
      • literal

        Literal literal​(int i)
        A constant, literal Integer value that can be used in expressions.
      • literal

        Literal literal​(long l)
        A constant, literal Long value that can be used in expressions.
      • literal

        Literal literal​(float f)
        A constant, literal Float value that can be used in expressions.
      • literal

        Literal literal​(double d)
        A constant, literal Double value that can be used in expressions.
      • literal

        Literal literal​(char c)
        A constant, literal Character value that can be used in expressions.
      • literal

        Literal literal​(boolean b)
        A constant, literal Boolean value that can be used in expressions.
      • sort

        SortBy sort​(String propertyName,
                    SortOrder order)
        Indicates an property by which contents should be sorted, along with intended order.
      • operator

        Operator operator​(String name)
        operators
      • temporalOperator

        TemporalOperator temporalOperator​(String name)
        temporal operator
      • functionName

        FunctionName functionName​(String name,
                                  int nargs)
        function name
      • functionName

        FunctionName functionName​(Name name,
                                  int nargs)
        function name
      • idCapabilities

        IdCapabilities idCapabilities​(boolean eid,
                                      boolean fid)
        id capabilities
      • parameter

        <T> Parameter<T> parameter​(String name,
                                   Class<T> type,
                                   InternationalString title,
                                   InternationalString description,
                                   boolean required,
                                   int minOccurs,
                                   int maxOccurs,
                                   T defaultValue)
        Creates a parameter of a function.
        Parameters:
        name - Parameter name
        type - Parameter type/class
        title - Human readable title of the parameter
        description - Extended description of the parameter
        required - Flag indicating if the parameter is required or not
        minOccurs - The minimum number of occurrences of the parameter
        maxOccurs - The maximum number of occurrences of the parameter
        defaultValue - Default value for the parameter
      • functionName

        FunctionName functionName​(String name,
                                  int nargs,
                                  List<String> argNames)
        FunctionName used to describe an available function.
        Parameters:
        name - name of function
        nargs - number of arguments, use a negative number to indicate a minimum if the function supports an open ended number of arguments
        argNames - Optional list of argument names
      • functionName

        FunctionName functionName​(Name name,
                                  int nargs,
                                  List<String> argNames)
        FunctionName used to describe an available function.
        Parameters:
        name - qualified name of function
        nargs - number of arguments, use a negative number to indicate a minimum if the function supports an open ended number of arguments
        argNames - Optional list of argument names
      • functionName

        FunctionName functionName​(String name,
                                  List<Parameter<?>> args,
                                  Parameter<?> ret)
        FunctionName used to describe an available function.
        Parameters:
        name - name of function
        args - Parameters describing function arguments.
        ret - Parameter describing function return.
      • functionName

        FunctionName functionName​(Name name,
                                  List<Parameter<?>> args,
                                  Parameter<?> ret)
        FunctionName used to describe an available function.
        Parameters:
        name - qualified name of function
        args - Parameters describing function arguments.
        ret - Parameter describing function return.
      • property

        PropertyName property​(Name name)
        Retrieves the value of a feature's property.
        Parameters:
        name - Name of attribute referenced
        Returns:
        PropertyName
      • property

        PropertyName property​(String xpath,
                              NamespaceSupport namespaceContext)
        Retrieves the value of a feature's property.
        Parameters:
        xpath - XPath expression (subject to the restrictions of filter specificaiton)
        namespaceContext - Used to interpret any namespace prefixs in above xpath expression
        Returns:
        PropertyName
      • bbox

        BBOX bbox​(Expression geometry,
                  double minx,
                  double miny,
                  double maxx,
                  double maxy,
                  String srs)
        Checks if the geometry expression overlaps the specified bounding box.
      • bbox

        BBOX bbox​(Expression geometry,
                  double minx,
                  double miny,
                  double maxx,
                  double maxy,
                  String srs,
                  MultiValuedFilter.MatchAction matchAction)
        Checks if the geometry expression overlaps the specified bounding box.
      • bbox

        BBOX bbox​(Expression geometry,
                  BoundingBox bounds)
        Checks if the bounding box of the feature's geometry overlaps the indicated bounds.

        This method does not strictly confirm to the the Filter 1.0 specification, you may use it to check expressions other than PropertyName.

        Parameters:
        geometry - Expression used to access a Geometry, in order to check for interaction with bounds
        bounds - Indicates the bounds to check geometry against
      • bbox

        BBOX bbox​(Expression geometry,
                  BoundingBox bounds,
                  MultiValuedFilter.MatchAction matchAction)
        Checks if the bounding box of the feature's geometry overlaps the indicated bounds.

        This method does not strictly confirm to the the Filter 1.0 specification, you may use it to check expressions other than PropertyName.

        Parameters:
        geometry - Expression used to access a Geometry, in order to check for interaction with bounds
        bounds - Indicates the bounds to check geometry against
        matchAction - Match Action
      • beyond

        Beyond beyond​(Expression geometry1,
                      Expression geometry2,
                      double distance,
                      String units)
        Check if all of a geometry is more distant than the given distance from this object's geometry.
      • contains

        Contains contains​(Expression geometry1,
                          Expression geometry2)
        Checks if the the first geometric operand contains the second.
      • dwithin

        DWithin dwithin​(Expression geometry1,
                        Expression geometry2,
                        double distance,
                        String units)
        Checks if any part of the first geometry lies within the given distance of the second geometry.
      • overlaps

        Overlaps overlaps​(Expression geometry1,
                          Expression geometry2)
        Checks if the interior of the first geometry somewhere overlaps the interior of the second geometry.
      • touches

        Touches touches​(Expression propertyName1,
                        Expression geometry2)
        Checks if the feature's geometry touches, but does not overlap with the geometry held by this object.
      • within

        Within within​(Expression geometry1,
                      Expression geometry2)
        Checks if the feature's geometry is completely contained by the specified constant geometry.
      • nativeFilter

        default NativeFilter nativeFilter​(String nativeFilter)
        Builds a new native filter, which will should be delegated to the data store.
        Parameters:
        nativeFilter - the native filter
        Returns:
        the build native filter