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 ofQueryFilter
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
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description R
visitAndFilter(P p, List<QueryFilter<F>> subFilters)
Visits anand
filter.R
visitBooleanLiteralFilter(P p, boolean value)
Visits a boolean literal filter.default R
visitComplexFilter(P p, F field, QueryFilter<F> subFilter)
Visits acomplex
filter.R
visitContainsFilter(P p, F field, Object valueAssertion)
Visits acontains
filter.R
visitEqualsFilter(P p, F field, Object valueAssertion)
Visits aequality
filter.R
visitExtendedMatchFilter(P p, F field, String operator, Object valueAssertion)
Visits acomparison
filter.R
visitGreaterThanFilter(P p, F field, Object valueAssertion)
Visits agreater than
filter.R
visitGreaterThanOrEqualToFilter(P p, F field, Object valueAssertion)
Visits agreater than or equal to
filter.R
visitLessThanFilter(P p, F field, Object valueAssertion)
Visits aless than
filter.R
visitLessThanOrEqualToFilter(P p, F field, Object valueAssertion)
Visits aless than or equal to
filter.R
visitNotFilter(P p, QueryFilter<F> subFilter)
Visits anot
filter.R
visitOrFilter(P p, List<QueryFilter<F>> subFilters)
Visits anor
filter.R
visitPresentFilter(P p, F field)
Visits apresent
filter.R
visitStartsWithFilter(P p, F field, Object valueAssertion)
Visits astarts with
filter.
-
-
-
Method Detail
-
visitAndFilter
R visitAndFilter(P p, List<QueryFilter<F>> subFilters)
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
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 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
R visitEqualsFilter(P p, F field, Object valueAssertion)
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
R visitExtendedMatchFilter(P p, F field, String operator, Object valueAssertion)
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
R visitGreaterThanFilter(P p, F field, Object valueAssertion)
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
R visitGreaterThanOrEqualToFilter(P p, F field, Object valueAssertion)
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
R visitLessThanFilter(P p, F field, Object valueAssertion)
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
R visitLessThanOrEqualToFilter(P p, F field, Object valueAssertion)
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
R visitNotFilter(P p, QueryFilter<F> subFilter)
Visits anot
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 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
R visitPresentFilter(P p, F field)
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
R visitStartsWithFilter(P p, F field, Object valueAssertion)
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
default R visitComplexFilter(P p, F field, QueryFilter<F> subFilter)
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.
-
-