@Override public boolean evaluate(OIdentifiable currentRecord, OCommandContext ctx) { return operator.execute(left.execute(currentRecord, ctx), right.execute(currentRecord, ctx)); }
private boolean evaluateAny(OResult currentRecord, OCommandContext ctx) { for (String s : currentRecord.getPropertyNames()) { Object leftVal = currentRecord.getProperty(s); Object rightVal = right.execute(currentRecord, ctx); //TODO collate if (operator.execute(leftVal, rightVal)) { return true; } } return false; }
private boolean matchesFilters(OResult iCurrentRecord, Object element, OCommandContext ctx) { if (operator != null) { return operator.execute(element, right.execute(iCurrentRecord, ctx)); } else if (inOperator != null) { Object rightVal = evaluateRight(iCurrentRecord, ctx); if (rightVal == null) { return false; } boolean result = OInCondition.evaluateExpression(element, rightVal); if (not) { result = !result; } return result; } return false; }
private boolean matchesFilters(OIdentifiable iCurrentRecord, Object element, OCommandContext ctx) { if (operator != null) { operator.execute(element, right.execute(iCurrentRecord, ctx)); } else if (inOperator != null) { Object rightVal = evaluateRight(iCurrentRecord, ctx); if (rightVal == null) { return false; } boolean result = OInCondition.evaluateExpression(element, rightVal); if (not) { result = !result; } return result; } return false; }
@Override public boolean evaluate(OResult currentRecord, OCommandContext ctx) { if (left.isFunctionAny()) { return evaluateAny(currentRecord, ctx); } Object leftVal = left.execute(currentRecord, ctx); Object rightVal = right.execute(currentRecord, ctx); OCollate collate = left.getCollate(currentRecord, ctx); if (collate == null) { collate = right.getCollate(currentRecord, ctx); } if (collate != null) { leftVal = collate.transform(leftVal); rightVal = collate.transform(rightVal); } return operator.execute(leftVal, rightVal); }