Package org.forgerock.util.query
Class JsonValueFilterVisitor
java.lang.Object
org.forgerock.util.query.JsonValueFilterVisitor
- All Implemented Interfaces:
QueryFilterVisitor<Boolean,
JsonValue, JsonPointer>
public final class JsonValueFilterVisitor
extends Object
implements QueryFilterVisitor<Boolean,JsonValue,JsonPointer>
A
QueryFilterVisitor
that returns true if the provide JsonValue
meets the criteria of
the QueryFilter assertions and false if it does not.-
Method Summary
Modifier and TypeMethodDescriptionReturns aQueryFilterVisitor
that can assess if aJsonValue
resource matches a set of criteria defined by aQueryFilter
.visitAndFilter
(JsonValue p, List<QueryFilter<JsonPointer>> subFilters) Visits anand
filter.visitBooleanLiteralFilter
(JsonValue p, boolean value) Visits a boolean literal filter.visitComplexFilter
(JsonValue p, JsonPointer field, QueryFilter<JsonPointer> subFilter) Visits acomplex
filter.visitContainsFilter
(JsonValue p, JsonPointer field, Object valueAssertion) Visits acontains
filter.visitEqualsFilter
(JsonValue p, JsonPointer field, Object valueAssertion) Visits aequality
filter.visitExtendedMatchFilter
(JsonValue p, JsonPointer field, String matchingRuleId, Object valueAssertion) Visits acomparison
filter.visitGreaterThanFilter
(JsonValue p, JsonPointer field, Object valueAssertion) Visits agreater than
filter.visitGreaterThanOrEqualToFilter
(JsonValue p, JsonPointer field, Object valueAssertion) Visits agreater than or equal to
filter.visitLessThanFilter
(JsonValue p, JsonPointer field, Object valueAssertion) Visits aless than
filter.visitLessThanOrEqualToFilter
(JsonValue p, JsonPointer field, Object valueAssertion) Visits aless than or equal to
filter.visitNotFilter
(JsonValue p, QueryFilter<JsonPointer> subFilter) Visits anot
filter.visitOrFilter
(JsonValue p, List<QueryFilter<JsonPointer>> subFilters) Visits anor
filter.visitPresentFilter
(JsonValue p, JsonPointer field) Visits apresent
filter.visitStartsWithFilter
(JsonValue p, JsonPointer field, Object valueAssertion) Visits astarts with
filter.
-
Method Details
-
jsonValueFilterVisitor
Returns aQueryFilterVisitor
that can assess if aJsonValue
resource matches a set of criteria defined by aQueryFilter
.- Returns:
- a QueryFilterVisitor on a JsonValue resource
-
visitAndFilter
Description copied from interface:QueryFilterVisitor
Visits anand
filter.Implementation note: for the purposes of matching, an empty sub-filter list should always evaluate to
true
.- Specified by:
visitAndFilter
in interfaceQueryFilterVisitor<Boolean,
JsonValue, JsonPointer> - Parameters:
p
- A visitor specified parameter.subFilters
- The unmodifiable list of sub-filters.- Returns:
- Returns a visitor specified result.
-
visitBooleanLiteralFilter
Description copied from interface:QueryFilterVisitor
Visits a boolean literal filter.- Specified by:
visitBooleanLiteralFilter
in interfaceQueryFilterVisitor<Boolean,
JsonValue, JsonPointer> - Parameters:
p
- A visitor specified parameter.value
- The boolean literal value.- Returns:
- Returns a visitor specified result.
-
visitContainsFilter
Description copied from interface:QueryFilterVisitor
Visits acontains
filter.- Specified by:
visitContainsFilter
in interfaceQueryFilterVisitor<Boolean,
JsonValue, JsonPointer> - 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
Description copied from interface:QueryFilterVisitor
Visits aequality
filter.- Specified by:
visitEqualsFilter
in interfaceQueryFilterVisitor<Boolean,
JsonValue, JsonPointer> - 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
public Boolean visitExtendedMatchFilter(JsonValue p, JsonPointer field, String matchingRuleId, Object valueAssertion) Description copied from interface:QueryFilterVisitor
Visits acomparison
filter.- Specified by:
visitExtendedMatchFilter
in interfaceQueryFilterVisitor<Boolean,
JsonValue, JsonPointer> - Parameters:
p
- A visitor specified parameter.field
- A definition of the field to be compared.matchingRuleId
- 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
Description copied from interface:QueryFilterVisitor
Visits agreater than
filter.- Specified by:
visitGreaterThanFilter
in interfaceQueryFilterVisitor<Boolean,
JsonValue, JsonPointer> - 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
public Boolean visitGreaterThanOrEqualToFilter(JsonValue p, JsonPointer field, Object valueAssertion) Description copied from interface:QueryFilterVisitor
Visits agreater than or equal to
filter.- Specified by:
visitGreaterThanOrEqualToFilter
in interfaceQueryFilterVisitor<Boolean,
JsonValue, JsonPointer> - 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
Description copied from interface:QueryFilterVisitor
Visits aless than
filter.- Specified by:
visitLessThanFilter
in interfaceQueryFilterVisitor<Boolean,
JsonValue, JsonPointer> - 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
Description copied from interface:QueryFilterVisitor
Visits aless than or equal to
filter.- Specified by:
visitLessThanOrEqualToFilter
in interfaceQueryFilterVisitor<Boolean,
JsonValue, JsonPointer> - 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
Description copied from interface:QueryFilterVisitor
Visits anot
filter.- Specified by:
visitNotFilter
in interfaceQueryFilterVisitor<Boolean,
JsonValue, JsonPointer> - Parameters:
p
- A visitor specified parameter.subFilter
- The sub-filter.- Returns:
- Returns a visitor specified result.
-
visitOrFilter
Description copied from interface:QueryFilterVisitor
Visits anor
filter.Implementation note: for the purposes of matching, an empty sub-filter list should always evaluate to
false
.- Specified by:
visitOrFilter
in interfaceQueryFilterVisitor<Boolean,
JsonValue, JsonPointer> - Parameters:
p
- A visitor specified parameter.subFilters
- The unmodifiable list of sub-filters.- Returns:
- Returns a visitor specified result.
-
visitPresentFilter
Description copied from interface:QueryFilterVisitor
Visits apresent
filter.- Specified by:
visitPresentFilter
in interfaceQueryFilterVisitor<Boolean,
JsonValue, JsonPointer> - Parameters:
p
- A visitor specified parameter.field
- A definition of the field to be compared.- Returns:
- Returns a visitor specified result.
-
visitStartsWithFilter
Description copied from interface:QueryFilterVisitor
Visits astarts with
filter.- Specified by:
visitStartsWithFilter
in interfaceQueryFilterVisitor<Boolean,
JsonValue, JsonPointer> - 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
public Boolean visitComplexFilter(JsonValue p, JsonPointer field, QueryFilter<JsonPointer> subFilter) Description copied from interface:QueryFilterVisitor
Visits acomplex
filter.- Specified by:
visitComplexFilter
in interfaceQueryFilterVisitor<Boolean,
JsonValue, JsonPointer> - 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.
-