@Override protected QueryExpression itrArrayContainsExpression(ArrayContainsExpression q, Path context) { fieldInfo.add(resolveField(q.getArray(), context, q, true)); return q; }
@Override protected QueryExpression itrArrayContainsExpression(ArrayContainsExpression q, Path context) { fieldInfo.add(resolveField(q.getArray(), context, q, true)); return q; }
private static boolean isFieldQueried(Path field, ArrayContainsExpression q, Path context) { LOGGER.debug("Checking if field {} is queried by array expression {}", field, q); return isFieldQueried(field, q.getArray(), context); }
private static boolean isFieldQueried(Path field, ArrayContainsExpression q, Path context) { LOGGER.debug("Checking if field {} is queried by array expression {}", field, q); return isFieldQueried(field, q.getArray(), context); }
@Override protected LookupSpec processAnyExpression(ArrayContainsExpression q) { return new MultiValueLookupSpec(simpleKeySpec(findFieldInfo(q.getArray(),q)), q.getValues().stream().map(Value::getValue).collect(Collectors.toList())); }
@Override protected LookupSpec processAnyExpression(ArrayContainsExpression q) { return new MultiValueLookupSpec(simpleKeySpec(findFieldInfo(q.getArray(),q)), q.getValues().stream().map(Value::getValue).collect(Collectors.toList())); }
@Override protected KeySpec processAnyExpression(ArrayContainsExpression q) { return simpleKeySpec(findFieldInfo(q.getArray(),q)); }
@Override protected KeySpec processAnyExpression(ArrayContainsExpression q) { return simpleKeySpec(findFieldInfo(q.getArray(),q)); }
@Override protected QueryExpression itrArrayContainsExpression(ArrayContainsExpression q, Path context) { return new ArrayContainsExpression(toRelative(q.getArray(), context), q.getOp(), q.getValues()); }
@Override protected QueryExpression itrArrayContainsExpression(ArrayContainsExpression q, Path context) { return new ArrayContainsExpression(toRelative(q.getArray(), context), q.getOp(), q.getValues()); }
protected QueryExpression itrArrayContainsExpression(ArrayContainsExpression q, Path context) { Binder binding = getBoundValue(q.getValues()); if (binding != null) { return new ArrayContainsExpression(q.getArray(), q.getOp(), (List<Value>) binding.getValue()); } else { return q; } }
protected QueryExpression itrArrayContainsExpression(ArrayContainsExpression q, Path context) { Binder binding = getBoundValue(q.getValues()); if (binding != null) { return new ArrayContainsExpression(q.getArray(), q.getOp(), (List<Value>) binding.getValue()); } else { return q; } }
public ArrayContainsEvaluator(ArrayContainsExpression expr, FieldTreeNode context) { this.expr = expr; FieldTreeNode node = context.resolve(expr.getArray()); if (node == null) { throw new EvaluationError(expr); } if (node instanceof ArrayField) { ArrayElement el = ((ArrayField) node).getElement(); if (el instanceof SimpleArrayElement) { elem = (SimpleArrayElement) el; } else { throw new EvaluationError(expr, CrudConstants.ERR_EXPECTED_SIMPLE_ARRAY); } } else { throw new EvaluationError(expr, CrudConstants.ERR_EXPECTED_ARRAY_FIELD); } }
@Override protected QueryExpression itrArrayContainsExpression(ArrayContainsExpression q, Path context) { QueryFieldInfo qfi = findFieldInfo(q.getArray(), q); if (qfi.getFieldEntity() != currentEntity) { return new TruePH(); } else if (qfi.getFieldNameInClause().equals(qfi.getEntityRelativeFieldName()) && nestedFieldPrefix.isEmpty()) { return q; } else { return new ArrayContainsExpression(addPrefix(qfi.getEntityRelativeFieldName()), q.getOp(), q.getValues()); } }
@Override protected QueryExpression itrArrayContainsExpression(ArrayContainsExpression q, Path context) { QueryFieldInfo qfi = findFieldInfo(q.getArray(), q); if (qfi.getFieldEntity() != currentEntity) { return new TruePH(); } else if (qfi.getFieldNameInClause().equals(qfi.getEntityRelativeFieldName()) && nestedFieldPrefix.isEmpty()) { return q; } else { return new ArrayContainsExpression(addPrefix(qfi.getEntityRelativeFieldName()), q.getOp(), q.getValues()); } }