in scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/filter/BaseFilterExpressionMapper.java [41:64]
public R apply(FilterExpression expression, AttributeContainer attributeContainer) {
// attribute EQ "something"
if (expression instanceof AttributeComparisonExpression) {
return apply((AttributeComparisonExpression) expression, attributeContainer);
}
// (attribute EQ "something") AND (otherAttribute EQ "something else")
else if (expression instanceof LogicalExpression) {
return apply((LogicalExpression) expression, attributeContainer);
}
// NOT (attribute EQ "something")
else if (expression instanceof GroupExpression) {
return apply((GroupExpression) expression, attributeContainer);
}
// attribute PR
else if (expression instanceof AttributePresentExpression) {
return apply((AttributePresentExpression) expression, attributeContainer);
}
// addresses[type EQ "work"]
else if (expression instanceof ValuePathExpression) {
return apply((ValuePathExpression) expression, attributeContainer);
}
return unhandledExpression(expression, attributeContainer);
}