Interface QueryFilterVisitor<R,​P,​F>

  • Type Parameters:
    R - The return type of this visitor's methods. Use Void for visitors that do not need to return results.
    P - The type of the additional parameter to this visitor's methods. Use Void for visitors that do not need an additional parameter.
    F - The type of the field definitions in this visitor's methods.
    All Known Implementing Classes:
    BaseQueryFilterVisitor, JsonValueFilterVisitor, MapFilterVisitor

    public interface QueryFilterVisitor<R,​P,​F>
    A visitor of QueryFilters, in the style of the visitor design pattern.

    Classes implementing this interface can query filters in a type-safe manner. When a visitor is passed to a filter's accept method, the corresponding visit method most applicable to that filter is invoked.

    • Method Detail

      • visitAndFilter

        R visitAndFilter​(P p,
                         List<QueryFilter<F>> subFilters)
        Visits an and filter.

        Implementation note: for the purposes of matching, an empty sub-filter list should always evaluate to true.

        Parameters:
        p - A visitor specified parameter.
        subFilters - The unmodifiable list of sub-filters.
        Returns:
        Returns a visitor specified result.
      • visitBooleanLiteralFilter

        R visitBooleanLiteralFilter​(P p,
                                    boolean value)
        Visits a boolean literal filter.
        Parameters:
        p - A visitor specified parameter.
        value - The boolean literal value.
        Returns:
        Returns a visitor specified result.
      • visitContainsFilter

        R visitContainsFilter​(P p,
                              F field,
                              Object valueAssertion)
        Visits a contains filter.
        Parameters:
        p - A visitor specified parameter.
        field - A definition of the field to be compared.
        valueAssertion - The value assertion.
        Returns:
        Returns a visitor specified result.
      • visitEqualsFilter

        R visitEqualsFilter​(P p,
                            F field,
                            Object valueAssertion)
        Visits a equality filter.
        Parameters:
        p - A visitor specified parameter.
        field - A definition of the field to be compared.
        valueAssertion - The value assertion.
        Returns:
        Returns a visitor specified result.
      • visitExtendedMatchFilter

        R visitExtendedMatchFilter​(P p,
                                   F field,
                                   String operator,
                                   Object valueAssertion)
        Visits a comparison filter.
        Parameters:
        p - A visitor specified parameter.
        field - A definition of the field to be compared.
        operator - The operator to use for the comparison, which will not be one of the core operator names.
        valueAssertion - The value assertion.
        Returns:
        Returns a visitor specified result.
      • visitGreaterThanFilter

        R visitGreaterThanFilter​(P p,
                                 F field,
                                 Object valueAssertion)
        Visits a greater than filter.
        Parameters:
        p - A visitor specified parameter.
        field - A definition of the field to be compared.
        valueAssertion - The value assertion.
        Returns:
        Returns a visitor specified result.
      • visitGreaterThanOrEqualToFilter

        R visitGreaterThanOrEqualToFilter​(P p,
                                          F field,
                                          Object valueAssertion)
        Visits a greater than or equal to filter.
        Parameters:
        p - A visitor specified parameter.
        field - A definition of the field to be compared.
        valueAssertion - The value assertion.
        Returns:
        Returns a visitor specified result.
      • visitLessThanFilter

        R visitLessThanFilter​(P p,
                              F field,
                              Object valueAssertion)
        Visits a less than filter.
        Parameters:
        p - A visitor specified parameter.
        field - A definition of the field to be compared.
        valueAssertion - The value assertion.
        Returns:
        Returns a visitor specified result.
      • visitLessThanOrEqualToFilter

        R visitLessThanOrEqualToFilter​(P p,
                                       F field,
                                       Object valueAssertion)
        Visits a less than or equal to filter.
        Parameters:
        p - A visitor specified parameter.
        field - A definition of the field to be compared.
        valueAssertion - The value assertion.
        Returns:
        Returns a visitor specified result.
      • visitNotFilter

        R visitNotFilter​(P p,
                         QueryFilter<F> subFilter)
        Visits a not filter.
        Parameters:
        p - A visitor specified parameter.
        subFilter - The sub-filter.
        Returns:
        Returns a visitor specified result.
      • visitOrFilter

        R visitOrFilter​(P p,
                        List<QueryFilter<F>> subFilters)
        Visits an or filter.

        Implementation note: for the purposes of matching, an empty sub-filter list should always evaluate to false.

        Parameters:
        p - A visitor specified parameter.
        subFilters - The unmodifiable list of sub-filters.
        Returns:
        Returns a visitor specified result.
      • visitPresentFilter

        R visitPresentFilter​(P p,
                             F field)
        Visits a present filter.
        Parameters:
        p - A visitor specified parameter.
        field - A definition of the field to be compared.
        Returns:
        Returns a visitor specified result.
      • visitStartsWithFilter

        R visitStartsWithFilter​(P p,
                                F field,
                                Object valueAssertion)
        Visits a starts with filter.
        Parameters:
        p - A visitor specified parameter.
        field - A definition of the field to be compared.
        valueAssertion - The value assertion.
        Returns:
        Returns a visitor specified result.