/** * {@inheritDoc} */ @Override protected void addChildrenTo(Collection<Expression> children) { children.add(getStringExpression()); children.add(getPatternValue()); children.add(getEscapeCharacter()); }
/** * {@inheritDoc} */ @Override protected void addChildrenTo(Collection<Expression> children) { children.add(getStringExpression()); children.add(getPatternValue()); children.add(getEscapeCharacter()); }
/** * {@inheritDoc} */ public void acceptChildren(ExpressionVisitor visitor) { getStringExpression().accept(visitor); getPatternValue().accept(visitor); getEscapeCharacter().accept(visitor); }
/** * {@inheritDoc} */ public void acceptChildren(ExpressionVisitor visitor) { getStringExpression().accept(visitor); getPatternValue().accept(visitor); getEscapeCharacter().accept(visitor); }
/** * {@inheritDoc} */ @Override public void visit(LikeExpression expression) { // Only AND, OR, NOT or clause identifiers can follow this expression // when the type is LOGICAL or CLAUSE appendable = appendableType == AppendableType.COMPLETE || appendableType == AppendableType.LOGICAL; if (appendable) { boolean oldConditionalExpression = conditionalExpression; conditionalExpression = false; if (expression.hasEscape()) { expression.getEscapeCharacter().accept(this); } else { expression.getPatternValue().accept(this); } conditionalExpression = oldConditionalExpression; } }
/** * {@inheritDoc} */ @Override public void visit(LikeExpression expression) { Expression patternValue = expression.getPatternValue(); Expression stringExpression = expression.getStringExpression(); Expression escapeCharacter = expression.getEscapeCharacter(); if (escapeCharacter.isAncestor(inputParameter)) { this.type = Character.class; } else if (patternValue.isAncestor(inputParameter)) { this.expression = expression.getStringExpression(); } else if (stringExpression.isAncestor(inputParameter)) { this.expression = expression; } // LIKE returns an integer value else { this.type = boolean.class; } }
/** * {@inheritDoc} */ @Override public void visit(LikeExpression expression) { Expression patternValue = expression.getPatternValue(); Expression stringExpression = expression.getStringExpression(); Expression escapeCharacter = expression.getEscapeCharacter(); if (escapeCharacter.isAncestor(inputParameter)) { this.type = Character.class; } else if (patternValue.isAncestor(inputParameter)) { this.expression = expression.getStringExpression(); } else if (stringExpression.isAncestor(inputParameter)) { this.expression = expression; } // LIKE returns an integer value else { this.type = boolean.class; } }
/** * {@inheritDoc} */ @Override public void visit(LikeExpression expression) { expression.getStringExpression().accept(this); StateObject stringStateObject = stateObject; expression.getPatternValue().accept(this); StateObject patternValue = stateObject; LikeExpressionStateObject stateObject = new LikeExpressionStateObject( parent, stringStateObject, expression.hasNot(), patternValue, literal(expression.getEscapeCharacter(), LiteralType.STRING_LITERAL) ); stateObject.setExpression(expression); this.stateObject = stateObject; }
/** * {@inheritDoc} */ @Override public void visit(LikeExpression expression) { // Create the first expression expression.getStringExpression().accept(this); Expression firstExpression = queryExpression; // Create the expression for the pattern value expression.getPatternValue().accept(this); Expression patternValue = queryExpression; // Create the LIKE expression with the escape character if (expression.hasEscapeCharacter()) { expression.getEscapeCharacter().accept(this); queryExpression = firstExpression.like(patternValue, queryExpression); } // Create the LIKE expression with no escape character else { queryExpression = firstExpression.like(patternValue); } // Negate the expression if (expression.hasNot()) { queryExpression = queryExpression.not(); } // Set the expression type type[0] = Boolean.class; }
/** * {@inheritDoc} */ @Override public void visit(LikeExpression expression) { // Create the first expression expression.getStringExpression().accept(this); Expression firstExpression = queryExpression; // Create the expression for the pattern value expression.getPatternValue().accept(this); Expression patternValue = queryExpression; // Create the LIKE expression with the escape character if (expression.hasEscapeCharacter()) { expression.getEscapeCharacter().accept(this); queryExpression = firstExpression.like(patternValue, queryExpression); } // Create the LIKE expression with no escape character else { queryExpression = firstExpression.like(patternValue); } // Negate the expression if (expression.hasNot()) { queryExpression = queryExpression.not(); } // Set the expression type type[0] = Boolean.class; }
expression.getEscapeCharacter().accept(this);
expression.getEscapeCharacter().accept(this);
/** * {@inheritDoc} */ public void visit(LikeExpression expression) { if (badExpression) { if (!expression.hasStringExpression() && positionWithinInvalidExpression <= 4 /* LIKE */) { queryPosition.setExpression(expression); queryPosition.addPosition(expression, positionWithinInvalidExpression); } } else { if (expression.hasEscapeCharacter()) { expression.getEscapeCharacter().accept(this); } else if (expression.hasPatternValue() && !expression.hasEscape()) { expression.getPatternValue().accept(this); } if (queryPosition.getExpression() == null) { queryPosition.setExpression(expression); } queryPosition.addPosition(expression, expression.getLength() - correction); } }
protected void validateLikeExpressionEscapeCharacter(LikeExpression expression) { Expression escapeCharacter = expression.getEscapeCharacter();
protected void validateLikeExpressionEscapeCharacter(LikeExpression expression) { Expression escapeCharacter = expression.getEscapeCharacter();