public R apply()

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);
  }