/** * {@inheritDoc} */ @Override protected void addChildrenTo(Collection<Expression> children) { children.add(getExpression()); }
/** * Returns the {@link Expression} representing the expression that is negated. * * @return The expression representing the expression that is negated */ public Expression getExpression() { if (expression == null) { expression = buildNullExpression(); } return expression; }
/** * {@inheritDoc} */ @Override protected void addOrderedChildrenTo(List<Expression> children) { children.add(buildStringExpression(NOT)); if (hasSpaceAfterNot) { children.add(buildStringExpression(SPACE)); } if (expression != null) { children.add(expression); } }
/** * {@inheritDoc} */ public void visit(NotExpression expression) { if (badExpression) { if (positionWithinInvalidExpression <= 3 /* NOT */) { queryPosition.setExpression(expression); queryPosition.addPosition(expression, positionWithinInvalidExpression); } } else { if (expression.hasExpression()) { expression.getExpression().accept(this); } if (queryPosition.getExpression() == null) { queryPosition.setExpression(expression); } queryPosition.addPosition(expression, expression.getLength() - correction); } }
/** * {@inheritDoc} */ @Override public void visit(NotExpression expression) { // Example: "NOT B" can only have compound identifiers like 'NOT BETWEEN' if (expression.hasExpression()) { String variable = visitor.queryContext.literal( expression.getExpression(), LiteralType.IDENTIFICATION_VARIABLE ); if (variable != ExpressionTools.EMPTY_STRING) { appendable = (appendableType == AppendableType.COMPOUNDABLE); } else { boolean oldConditionalExpression = conditionalExpression; conditionalExpression = false; expression.getExpression().accept(this); conditionalExpression = oldConditionalExpression; } } }
/** * {@inheritDoc} */ @Override public void visit(NotExpression expression) { // Missing expression if (!expression.hasExpression()) { int startPosition = position(expression) + 3 /* NOT */ + (expression.hasSpaceAfterNot() ? 1 : 0); addProblem(expression, startPosition, NotExpression_MissingExpression); } else { super.visit(expression); } }
/** * {@inheritDoc} */ public JPQLQueryBNF getQueryBNF() { return getQueryBNF(ConditionalPrimaryBNF.ID); }
/** * {@inheritDoc} */ @Override public void visit(NotExpressionStateObject stateObject) { if (stateObject.isDecorated()) { toText(stateObject); } else { NotExpression expression = stateObject.getExpression(); // 'NOT' appendIdentifier((expression != null) ? expression.getActualIdentifier() : NOT, NOT); if (shouldOutput(expression) || expression.hasSpaceAfterNot()) { writer.append(SPACE); } // Expression if (stateObject.hasStateObject()) { stateObject.getStateObject().accept(this); } } }
/** * {@inheritDoc} */ @Override protected void parse(WordParser wordParser, boolean tolerant) { identifier = wordParser.moveForward(NOT); hasSpaceAfterNot = wordParser.skipLeadingWhitespace() > 0; expression = parse(wordParser, ConditionalPrimaryBNF.ID, tolerant); }
/** * {@inheritDoc} */ @Override protected void toParsedText(StringBuilder writer, boolean actual) { // NOT writer.append(actual ? identifier : getText()); if (hasSpaceAfterNot) { writer.append(SPACE); } // Expression if (expression != null) { expression.toParsedText(writer, actual); } } }
expression = new NotExpression(parent);
/** * {@inheritDoc} */ @Override public void visit(NotExpression expression) { // Missing expression if (!expression.hasExpression()) { int startPosition = position(expression) + 3 /* NOT */ + (expression.hasSpaceAfterNot() ? 1 : 0); addProblem(expression, startPosition, NotExpression_MissingExpression); } else { super.visit(expression); } }
/** * {@inheritDoc} */ public JPQLQueryBNF getQueryBNF() { return getQueryBNF(ConditionalPrimaryBNF.ID); }
/** * {@inheritDoc} */ @Override protected void parse(WordParser wordParser, boolean tolerant) { identifier = wordParser.moveForward(NOT); hasSpaceAfterNot = wordParser.skipLeadingWhitespace() > 0; expression = parse(wordParser, ConditionalPrimaryBNF.ID, tolerant); }
/** * {@inheritDoc} */ @Override protected void toParsedText(StringBuilder writer, boolean actual) { // NOT writer.append(actual ? identifier : getText()); if (hasSpaceAfterNot) { writer.append(SPACE); } // Expression if (expression != null) { expression.toParsedText(writer, actual); } } }
expression = new NotExpression(parent);
/** * {@inheritDoc} */ @Override protected void addChildrenTo(Collection<Expression> children) { children.add(getExpression()); }
/** * {@inheritDoc} */ @Override public JPQLQueryBNF findQueryBNF(Expression expression) { if ((this.expression != null) && this.expression.isAncestor(expression)) { return getQueryBNF(ConditionalPrimaryBNF.ID); } return super.findQueryBNF(expression); }
/** * Returns the {@link Expression} representing the expression that is negated. * * @return The expression representing the expression that is negated */ public Expression getExpression() { if (expression == null) { expression = buildNullExpression(); } return expression; }
/** * {@inheritDoc} */ @Override protected void addOrderedChildrenTo(List<Expression> children) { children.add(buildStringExpression(NOT)); if (hasSpaceAfterNot) { children.add(buildStringExpression(SPACE)); } if (expression != null) { children.add(expression); } }