Interface Filter

  • All Superinterfaces:
    java.io.Serializable, XMLizable
    All Known Implementing Classes:
    Filter_impl

    public interface Filter
    extends XMLizable, java.io.Serializable
    Specifies a constraint that matches against annotations in the CAS. Filters are assigned to IndexBuildItems in order to specify which annotation instances are subject to indexing according to the rule specified by the IndexBuildItem.

    We support an open-ended schema for filters. Each Filter has a syntax declaration and an expression. Each are arbitrary strings. The syntax declaration is intended to tell the indexer how to interpret the expression. Any given indexer implementation will declare which syntaxes it supports.

    The only syntax the indexers are required to import is the FeatureValue syntax, which permits very simple expressions that test the values of features. Expressions using this syntax take the form <FeatureName> <Operator> <Literal>, where FeatureName is a CAS feature name, Operator is either =, !=, <, <=, >, or ≥=, and Literal is an integer, floating point number (no exponent syntax supported) or string literal enclosed in double quotes, with embedded quotes and backslashes escaped by a backslash. For example, the following are valid filters:

    • foo = "hello world"
    • foo < 42
    • bar7 = "\"Blah,\" he said."
    • bar7 >= 0.5
    This object implements the XMLizable interface and can be parsed from an XML representation.
    • Method Detail

      • getSyntax

        java.lang.String getSyntax()
        Gets the declared syntax for this filter's expression.
        Returns:
        an identifier indicating the syntax used by this filter
      • setSyntax

        void setSyntax​(java.lang.String aSyntax)
        Sets the declared syntax for this this filter's expression.
        Parameters:
        aSyntax - an identifier indicating the syntax used by this filter
      • getExpression

        java.lang.String getExpression()
        Gets the filter expression. This is a string intended to be interpreted according to the syntax.
        Returns:
        the filter expression
      • setExpression

        void setExpression​(java.lang.String aExpression)
        Sets the filter expression. This is a string intended to be interpreted according to the syntax.
        Parameters:
        aExpression - the filter expression