@Override public OOrBlock copy() { OOrBlock result = new OOrBlock(-1); result.subBlocks = subBlocks.stream().map(x -> x.copy()).collect(Collectors.toList()); return result; }
@Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; OContainsAllCondition that = (OContainsAllCondition) o; if (left != null ? !left.equals(that.left) : that.left != null) return false; if (right != null ? !right.equals(that.right) : that.right != null) return false; if (rightBlock != null ? !rightBlock.equals(that.rightBlock) : that.rightBlock != null) return false; return true; }
public boolean evaluate(Object currentRecord, OCommandContext ctx) { if (currentRecord instanceof OResult) { return evaluate((OResult) currentRecord, ctx); } else if (currentRecord instanceof OIdentifiable) { return evaluate((OIdentifiable) currentRecord, ctx); } else if (currentRecord instanceof Map) { ODocument doc = new ODocument(); doc.fromMap((Map<String, Object>) currentRecord); return evaluate(doc, ctx); } return false; }
final public OOrBlock OrBlock() throws ParseException { OOrBlock jjtn000 = new OOrBlock(JJTORBLOCK); boolean jjtc000 = true; jjtree.openNodeScope(jjtn000); jjtn000.jjtSetFirstToken(getToken(1));OAndBlock lastAnd = null; try { lastAnd = AndBlock(); jjtn000.getSubBlocks().add(lastAnd); label_30: while (true) { jjtn000.getSubBlocks().add(lastAnd); jjtn000.jjtSetLastToken(getToken(0)); {if (true) return jjtn000;} } catch (Throwable jjte000) { if (jjtc000) { jjtree.closeNodeScope(jjtn000, true); jjtn000.jjtSetLastToken(getToken(0));
existingAdditionalConditions = new OOrBlock(-1); filtersForIndex.put(extendedCond, existingAdditionalConditions); existingAdditionalConditions.getSubBlocks().add(item.remainingCondition);
condition = new OOrBlock(-1); condition.deserialize(fromResult.getProperty("condition"));
@Override public OContainsValueCondition copy() { OContainsValueCondition result = new OContainsValueCondition(-1); result.left = left.copy(); result.operator = operator; result.condition = condition == null ? null : condition.copy(); result.expression = expression == null ? null : expression.copy(); return result; }
@Override public void extractSubQueries(SubQueryCollector collector) { left.extractSubQueries(collector); if (right != null) { right.extractSubQueries(collector); } if (rightBlock != null) { rightBlock.extractSubQueries(collector); } }
@Override protected List<Object> getExternalCalculationConditions() { if (condition == null) { return Collections.EMPTY_LIST; } return condition.getExternalCalculationConditions(); }
@Override public List<String> getMatchPatternInvolvedAliases() { List<String> leftX = left == null ? null : left.getMatchPatternInvolvedAliases(); List<String> rightX = right == null ? null : right.getMatchPatternInvolvedAliases(); List<String> rightBlockX = rightBlock == null ? null : rightBlock.getMatchPatternInvolvedAliases(); List<String> result = new ArrayList<String>(); if (leftX != null) { result.addAll(leftX); } if (rightX != null) { result.addAll(rightX); } if (rightBlockX != null) { result.addAll(rightBlockX); } return result.size() == 0 ? null : result; }
@Override public boolean evaluate(OIdentifiable currentRecord, OCommandContext ctx) { if (getSubBlocks() == null) { return true; } for (OBooleanExpression block : subBlocks) { if (block.evaluate(currentRecord, ctx)) { return true; } } return false; }
@Override protected int getNumberOfExternalCalculations() { if (condition == null) { return 0; } return condition.getNumberOfExternalCalculations(); }
@Override public OContainsAnyCondition copy() { OContainsAnyCondition result = new OContainsAnyCondition(-1); result.left = left.copy(); result.right = right == null ? null : right.copy(); result.rightBlock = rightBlock == null ? null : rightBlock.copy(); return result; }
@Override public void extractSubQueries(SubQueryCollector collector) { left.extractSubQueries(collector); if (condition != null) { condition.extractSubQueries(collector); } if (expression != null) { expression.extractSubQueries(collector); } }
@Override protected List<Object> getExternalCalculationConditions() { List<Object> result = new ArrayList<Object>(); if (left != null && !left.supportsBasicCalculation()) { result.add(left); } if (right != null && !right.supportsBasicCalculation()) { result.add(right); } if (rightBlock != null) { result.addAll(rightBlock.getExternalCalculationConditions()); } return result; }
@Override public List<String> getMatchPatternInvolvedAliases() { List<String> leftX = left == null ? null : left.getMatchPatternInvolvedAliases(); List<String> rightX = right == null ? null : right.getMatchPatternInvolvedAliases(); List<String> rightBlockX = rightBlock == null ? null : rightBlock.getMatchPatternInvolvedAliases(); List<String> result = new ArrayList<String>(); if (leftX != null) { result.addAll(leftX); } if (rightX != null) { result.addAll(rightX); } if (rightBlockX != null) { result.addAll(rightBlockX); } return result.size() == 0 ? null : result; }
@Override public boolean evaluate(OResult currentRecord, OCommandContext ctx) { if (getSubBlocks() == null) { return true; } for (OBooleanExpression block : subBlocks) { if (block.evaluate(currentRecord, ctx)) { return true; } } return false; }
private Object filterByCondition(Object iResult, OCommandContext ctx) { if (iResult == null) { return null; } List<Object> result = new ArrayList<Object>(); if (iResult.getClass().isArray()) { for (int i = 0; i < Array.getLength(iResult); i++) { Object item = Array.get(iResult, i); if (condition.evaluate(item, ctx)) { result.add(item); } } return result; } if (iResult instanceof OIdentifiable) { iResult = Collections.singleton(iResult); } if (iResult instanceof Iterable) { iResult = ((Iterable) iResult).iterator(); } if (iResult instanceof Iterator) { while (((Iterator) iResult).hasNext()) { Object item = ((Iterator) iResult).next(); if (condition.evaluate(item, ctx)) { result.add(item); } } } return result; }
@Override public OContainsAllCondition copy() { OContainsAllCondition result = new OContainsAllCondition(-1); result.left = left.copy(); result.right = right == null ? null : right.copy(); result.rightBlock = rightBlock == null ? null : rightBlock.copy(); return result; }
@Override public void extractSubQueries(SubQueryCollector collector) { left.extractSubQueries(collector); if (right != null) { right.extractSubQueries(collector); } if (rightBlock != null) { rightBlock.extractSubQueries(collector); } }