F
- The type of field description used in parsed QueryFilter
objects.public class MapFilterVisitor<F> extends Object implements QueryFilterVisitor<Map<String,Object>,Void,F>
QueryFilterVisitor
that produces a Map representation of the filter tree.
The produced map is constructed according to the following representation:
{ "operator" : "and", "subfilters" : [ the subfilters ] }
{ "operator" : "or", "subfilters" : [ the subfilters ] }
{ "operator" : "not", "subfilter" : the subfilter }
{ "operator" : "pr", "field" : "/afield"}
{ "operator" : "eq", "field" : "/afield", "value" : "something"}
{ "operator" : "co", "field" : "/afield", "value" : "something"}
{ "operator" : "sw", "field" : "/afield", "value" : "some"}
{ "operator" : "lt", "field" : "/afield", "value" : "something"}
{ "operator" : "le", "field" : "/afield", "value" : "something"}
{ "operator" : "gt", "field" : "/afield", "value" : "something"}
{ "operator" : "ge", "field" : "/afield", "value" : "something"}
new com.fasterxml.jackson.databind.ObjectMapper().writeValueAsString(map);
new org.forgerock.json.JsonValue(map);
org.forgerock.json.JsonPointer
syntax; actual field representation
depends on field type of QueryFilter.
Constructor and Description |
---|
MapFilterVisitor() |
Modifier and Type | Method and Description |
---|---|
Map<String,Object> |
visitAndFilter(Void parameters,
List<QueryFilter<F>> subFilters)
Visits an
and filter. |
Map<String,Object> |
visitBooleanLiteralFilter(Void parameters,
boolean value)
Visits a boolean literal filter.
|
Map<String,Object> |
visitContainsFilter(Void parameters,
F field,
Object valueAssertion)
Visits a
contains filter. |
Map<String,Object> |
visitEqualsFilter(Void parameters,
F field,
Object valueAssertion)
Visits a
equality filter. |
Map<String,Object> |
visitExtendedMatchFilter(Void parameters,
F field,
String operator,
Object valueAssertion)
Visits a
comparison filter. |
Map<String,Object> |
visitGreaterThanFilter(Void parameters,
F field,
Object valueAssertion)
Visits a
greater than filter. |
Map<String,Object> |
visitGreaterThanOrEqualToFilter(Void parameters,
F field,
Object valueAssertion)
Visits a
greater than or equal to filter. |
Map<String,Object> |
visitLessThanFilter(Void parameters,
F field,
Object valueAssertion)
Visits a
less than filter. |
Map<String,Object> |
visitLessThanOrEqualToFilter(Void parameters,
F field,
Object valueAssertion)
Visits a
less than or equal to filter. |
Map<String,Object> |
visitNotFilter(Void parameters,
QueryFilter<F> subFilter)
Visits a
not filter. |
Map<String,Object> |
visitOrFilter(Void parameters,
List<QueryFilter<F>> subFilters)
Visits an
or filter. |
Map<String,Object> |
visitPresentFilter(Void parameters,
F field)
Visits a
present filter. |
Map<String,Object> |
visitStartsWithFilter(Void parameters,
F field,
Object valueAssertion)
Visits a
starts with filter. |
public MapFilterVisitor()
public Map<String,Object> visitAndFilter(Void parameters, List<QueryFilter<F>> subFilters)
and
filter.
Implementation note: for the purposes of matching, an empty
sub-filter list should always evaluate to true
.
visitAndFilter
in interface QueryFilterVisitor<Map<String,Object>,Void,F>
parameters
- A visitor specified parameter.subFilters
- The unmodifiable list of sub-filters.public Map<String,Object> visitBooleanLiteralFilter(Void parameters, boolean value)
visitBooleanLiteralFilter
in interface QueryFilterVisitor<Map<String,Object>,Void,F>
parameters
- A visitor specified parameter.value
- The boolean literal value.public Map<String,Object> visitContainsFilter(Void parameters, F field, Object valueAssertion)
contains
filter.visitContainsFilter
in interface QueryFilterVisitor<Map<String,Object>,Void,F>
parameters
- A visitor specified parameter.field
- A definition of the field to be compared.valueAssertion
- The value assertion.public Map<String,Object> visitEqualsFilter(Void parameters, F field, Object valueAssertion)
equality
filter.visitEqualsFilter
in interface QueryFilterVisitor<Map<String,Object>,Void,F>
parameters
- A visitor specified parameter.field
- A definition of the field to be compared.valueAssertion
- The value assertion.public Map<String,Object> visitExtendedMatchFilter(Void parameters, F field, String operator, Object valueAssertion)
comparison
filter.visitExtendedMatchFilter
in interface QueryFilterVisitor<Map<String,Object>,Void,F>
parameters
- 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.public Map<String,Object> visitGreaterThanFilter(Void parameters, F field, Object valueAssertion)
greater than
filter.visitGreaterThanFilter
in interface QueryFilterVisitor<Map<String,Object>,Void,F>
parameters
- A visitor specified parameter.field
- A definition of the field to be compared.valueAssertion
- The value assertion.public Map<String,Object> visitGreaterThanOrEqualToFilter(Void parameters, F field, Object valueAssertion)
greater than or equal to
filter.visitGreaterThanOrEqualToFilter
in interface QueryFilterVisitor<Map<String,Object>,Void,F>
parameters
- A visitor specified parameter.field
- A definition of the field to be compared.valueAssertion
- The value assertion.public Map<String,Object> visitLessThanFilter(Void parameters, F field, Object valueAssertion)
less than
filter.visitLessThanFilter
in interface QueryFilterVisitor<Map<String,Object>,Void,F>
parameters
- A visitor specified parameter.field
- A definition of the field to be compared.valueAssertion
- The value assertion.public Map<String,Object> visitLessThanOrEqualToFilter(Void parameters, F field, Object valueAssertion)
less than or equal to
filter.visitLessThanOrEqualToFilter
in interface QueryFilterVisitor<Map<String,Object>,Void,F>
parameters
- A visitor specified parameter.field
- A definition of the field to be compared.valueAssertion
- The value assertion.public Map<String,Object> visitNotFilter(Void parameters, QueryFilter<F> subFilter)
not
filter.visitNotFilter
in interface QueryFilterVisitor<Map<String,Object>,Void,F>
parameters
- A visitor specified parameter.subFilter
- The sub-filter.public Map<String,Object> visitOrFilter(Void parameters, List<QueryFilter<F>> subFilters)
or
filter.
Implementation note: for the purposes of matching, an empty
sub-filter list should always evaluate to false
.
visitOrFilter
in interface QueryFilterVisitor<Map<String,Object>,Void,F>
parameters
- A visitor specified parameter.subFilters
- The unmodifiable list of sub-filters.public Map<String,Object> visitPresentFilter(Void parameters, F field)
present
filter.visitPresentFilter
in interface QueryFilterVisitor<Map<String,Object>,Void,F>
parameters
- A visitor specified parameter.field
- A definition of the field to be compared.public Map<String,Object> visitStartsWithFilter(Void parameters, F field, Object valueAssertion)
starts with
filter.visitStartsWithFilter
in interface QueryFilterVisitor<Map<String,Object>,Void,F>
parameters
- A visitor specified parameter.field
- A definition of the field to be compared.valueAssertion
- The value assertion.Copyright 2010-2017 ForgeRock AS.