Package org.forgerock.util.query
Interface QueryFilterVisitor<R,P,F>
- Type Parameters:
R
- The return type of this visitor's methods. UseVoid
for visitors that do not need to return results.P
- The type of the additional parameter to this visitor's methods. UseVoid
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
QueryFilter
s, 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 anand
filter.visitBooleanLiteralFilter
(P p, boolean value) Visits a boolean literal filter.default R
visitComplexFilter
(P p, F field, QueryFilter<F> subFilter) Visits acomplex
filter.visitContainsFilter
(P p, F field, Object valueAssertion) Visits acontains
filter.visitEqualsFilter
(P p, F field, Object valueAssertion) Visits aequality
filter.visitExtendedMatchFilter
(P p, F field, String operator, Object valueAssertion) Visits acomparison
filter.visitGreaterThanFilter
(P p, F field, Object valueAssertion) Visits agreater than
filter.visitGreaterThanOrEqualToFilter
(P p, F field, Object valueAssertion) Visits agreater than or equal to
filter.visitLessThanFilter
(P p, F field, Object valueAssertion) Visits aless than
filter.visitLessThanOrEqualToFilter
(P p, F field, Object valueAssertion) Visits aless than or equal to
filter.visitNotFilter
(P p, QueryFilter<F> subFilter) Visits anot
filter.visitOrFilter
(P p, List<QueryFilter<F>> subFilters) Visits anor
filter.visitPresentFilter
(P p, F field) Visits apresent
filter.visitStartsWithFilter
(P p, F field, Object valueAssertion) Visits astarts with
filter.
-
Method Details
-
visitAndFilter
Visits anand
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
Visits a boolean literal filter.- Parameters:
p
- A visitor specified parameter.value
- The boolean literal value.- Returns:
- Returns a visitor specified result.
-
visitContainsFilter
Visits acontains
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
Visits aequality
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
Visits acomparison
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
Visits agreater 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
Visits agreater 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
Visits aless 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
Visits aless 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
Visits anot
filter.- Parameters:
p
- A visitor specified parameter.subFilter
- The sub-filter.- Returns:
- Returns a visitor specified result.
-
visitOrFilter
Visits anor
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
Visits apresent
filter.- Parameters:
p
- A visitor specified parameter.field
- A definition of the field to be compared.- Returns:
- Returns a visitor specified result.
-
visitStartsWithFilter
Visits astarts 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.
-
visitComplexFilter
Visits acomplex
filter.- 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.
-