Package org.forgerock.util.query
Interface QueryFilterVisitor<R,P,F>
- Type Parameters:
R- The return type of this visitor's methods. UseVoidfor visitors that do not need to return results.P- The type of the additional parameter to this visitor's methods. UseVoidfor 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 Summary
Modifier and TypeMethodDescriptionvisitAndFilter(P p, List<QueryFilter<F>> subFilters) Visits anandfilter.visitBooleanLiteralFilter(P p, boolean value) Visits a boolean literal filter.default RvisitComplexFilter(P p, F field, QueryFilter<F> subFilter) Visits acomplexfilter.visitContainsFilter(P p, F field, Object valueAssertion) Visits acontainsfilter.visitEqualsFilter(P p, F field, Object valueAssertion) Visits aequalityfilter.visitExtendedMatchFilter(P p, F field, String operator, Object valueAssertion) Visits acomparisonfilter.visitGreaterThanFilter(P p, F field, Object valueAssertion) Visits agreater thanfilter.visitGreaterThanOrEqualToFilter(P p, F field, Object valueAssertion) Visits agreater than or equal tofilter.visitLessThanFilter(P p, F field, Object valueAssertion) Visits aless thanfilter.visitLessThanOrEqualToFilter(P p, F field, Object valueAssertion) Visits aless than or equal tofilter.visitNotFilter(P p, QueryFilter<F> subFilter) Visits anotfilter.visitOrFilter(P p, List<QueryFilter<F>> subFilters) Visits anorfilter.visitPresentFilter(P p, F field) Visits apresentfilter.visitStartsWithFilter(P p, F field, Object valueAssertion) Visits astarts withfilter.
-
Method Details
-
visitAndFilter
Visits anandfilter.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
Visits a boolean literal filter.- Parameters:
p- A visitor specified parameter.value- The boolean literal value.- Returns:
- Returns a visitor specified result.
-
visitContainsFilter
Visits acontainsfilter.- 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
Visits aequalityfilter.- 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
Visits acomparisonfilter.- 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
Visits agreater thanfilter.- 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
Visits agreater than or equal tofilter.- 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
Visits aless thanfilter.- 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
Visits aless than or equal tofilter.- 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
Visits anotfilter.- Parameters:
p- A visitor specified parameter.subFilter- The sub-filter.- Returns:
- Returns a visitor specified result.
-
visitOrFilter
Visits anorfilter.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
Visits apresentfilter.- Parameters:
p- A visitor specified parameter.field- A definition of the field to be compared.- Returns:
- Returns a visitor specified result.
-
visitStartsWithFilter
Visits astarts withfilter.- 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.
-
visitComplexFilter
Visits acomplexfilter.- Parameters:
p- A visitor specified parameter.field- A definition of the field to be compared.subFilter- The subfilter expression to be evaluated on the object @field.- Returns:
- Returns a visitor specified result.
-