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 ofQueryFilters, 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
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description RvisitAndFilter(P p, List<QueryFilter<F>> subFilters)Visits anandfilter.RvisitBooleanLiteralFilter(P p, boolean value)Visits a boolean literal filter.default RvisitComplexFilter(P p, F field, QueryFilter<F> subFilter)Visits acomplexfilter.RvisitContainsFilter(P p, F field, Object valueAssertion)Visits acontainsfilter.RvisitEqualsFilter(P p, F field, Object valueAssertion)Visits aequalityfilter.RvisitExtendedMatchFilter(P p, F field, String operator, Object valueAssertion)Visits acomparisonfilter.RvisitGreaterThanFilter(P p, F field, Object valueAssertion)Visits agreater thanfilter.RvisitGreaterThanOrEqualToFilter(P p, F field, Object valueAssertion)Visits agreater than or equal tofilter.RvisitLessThanFilter(P p, F field, Object valueAssertion)Visits aless thanfilter.RvisitLessThanOrEqualToFilter(P p, F field, Object valueAssertion)Visits aless than or equal tofilter.RvisitNotFilter(P p, QueryFilter<F> subFilter)Visits anotfilter.RvisitOrFilter(P p, List<QueryFilter<F>> subFilters)Visits anorfilter.RvisitPresentFilter(P p, F field)Visits apresentfilter.RvisitStartsWithFilter(P p, F field, Object valueAssertion)Visits astarts withfilter.
-
-
-
Method Detail
-
visitAndFilter
R visitAndFilter(P p, List<QueryFilter<F>> subFilters)
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
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 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
R visitEqualsFilter(P p, F field, Object valueAssertion)
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
R visitExtendedMatchFilter(P p, F field, String operator, Object valueAssertion)
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
R visitGreaterThanFilter(P p, F field, Object valueAssertion)
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
R visitGreaterThanOrEqualToFilter(P p, F field, Object valueAssertion)
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
R visitLessThanFilter(P p, F field, Object valueAssertion)
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
R visitLessThanOrEqualToFilter(P p, F field, Object valueAssertion)
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
R visitNotFilter(P p, QueryFilter<F> subFilter)
Visits anotfilter.- 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 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
R visitPresentFilter(P p, F field)
Visits apresentfilter.- 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 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
default R visitComplexFilter(P p, F field, QueryFilter<F> subFilter)
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.
-
-