apply method

  1. @override
int apply (
  1. QueryBuilder builder,
  2. bool isRoot
)
override

Implementation

@override
int apply(QueryBuilder builder, bool isRoot) {
  final c = tryApply(builder);
  if (c != 0) {
    return c;
  }

  switch (_op) {
    case ConditionOp.eq:
      return _op1(builder, bindings.obx_qb_equals_string);
    case ConditionOp.notEq:
      return _op1(builder, bindings.obx_qb_not_equals_string);
    case ConditionOp.stringContains:
      return _op1(builder, bindings.obx_qb_contains_string);
    case ConditionOp.stringStarts:
      return _op1(builder, bindings.obx_qb_starts_with_string);
    case ConditionOp.stringEnds:
      return _op1(builder, bindings.obx_qb_ends_with_string);
    case ConditionOp.lt:
      return _op1(builder, bindings.obx_qb_less_than_string);
    case ConditionOp.lessOrEq:
      return _op1(builder, bindings.obx_qb_less_or_equal_string);
    case ConditionOp.gt:
      return _op1(builder, bindings.obx_qb_greater_than_string);
    case ConditionOp.greaterOrEq:
      return _op1(builder, bindings.obx_qb_greater_or_equal_string);
    case ConditionOp.inside:
      return _inside(builder); // bindings.obx_qb_string_in
    default:
      throw Exception('Unsupported operation ${_op.toString()}');
  }
}