/** * Creates the {@link AbstractExpression} to represent the given word. * * @param word The word that was parsed * @return The encapsulated {@link AbstractExpression} */ protected AbstractExpression buildEncapsulatedExpression(WordParser wordParser, String word) { return new StateFieldPathExpression(this, word); }
/** * Creates the {@link AbstractExpression} to represent the given word. * * @param word The word that was parsed * @return The encapsulated {@link AbstractExpression} */ protected AbstractExpression buildEncapsulatedExpression(WordParser wordParser, String word) { return new StateFieldPathExpression(this, word); }
/** * {@inheritDoc} */ @Override protected AbstractExpression buildExpression(AbstractExpression parent, WordParser wordParser, String word, AbstractExpression expression, boolean tolerant) { expression = new StateFieldPathExpression(parent, word); expression.parse(wordParser, tolerant); return expression; } }
/** * {@inheritDoc} */ @Override protected AbstractExpression buildExpression(AbstractExpression parent, WordParser wordParser, String word, AbstractExpression expression, boolean tolerant) { expression = new StateFieldPathExpression(parent, word); expression.parse(wordParser, tolerant); return expression; } }
/** * {@inheritDoc} */ @Override protected AbstractExpression buildExpression(AbstractExpression parent, WordParser wordParser, String word, JPQLQueryBNF queryBNF, AbstractExpression expression, boolean tolerant) { if (word.indexOf(AbstractExpression.DOT) > -1) { expression = new StateFieldPathExpression(parent, word); expression.parse(wordParser, tolerant); } else { ExpressionFactory factory = getExpressionRegistry().getExpressionFactory(LiteralExpressionFactory.ID); expression = factory.buildExpression(parent, wordParser, word, queryBNF, expression, tolerant); } return expression; } }
/** * {@inheritDoc} */ @Override protected AbstractExpression buildExpression(AbstractExpression parent, WordParser wordParser, String word, JPQLQueryBNF queryBNF, AbstractExpression expression, boolean tolerant) { if (word.indexOf(AbstractExpression.DOT) > -1) { expression = new StateFieldPathExpression(parent, word); expression.parse(wordParser, tolerant); } else { ExpressionFactory factory = getExpressionRegistry().getExpressionFactory(LiteralExpressionFactory.ID); expression = factory.buildExpression(parent, wordParser, word, queryBNF, expression, tolerant); } return expression; } }
/** * {@inheritDoc} */ @Override protected AbstractExpression buildExpression(AbstractExpression parent, WordParser wordParser, String word, JPQLQueryBNF queryBNF, AbstractExpression expression, boolean tolerant) { expression = new EntryExpression(parent); expression.parse(wordParser, tolerant); if (wordParser.character() == AbstractExpression.DOT) { expression = new StateFieldPathExpression(parent, expression); expression.parse(wordParser, tolerant); } return expression; } }
/** * {@inheritDoc} */ @Override protected AbstractExpression buildExpression(AbstractExpression parent, WordParser wordParser, String word, JPQLQueryBNF queryBNF, AbstractExpression expression, boolean tolerant) { expression = new EntryExpression(parent); expression.parse(wordParser, tolerant); if (wordParser.character() == AbstractExpression.DOT) { expression = new StateFieldPathExpression(parent, expression); expression.parse(wordParser, tolerant); } return expression; } }
/** * Sets a virtual identification variable because the abstract schema name was parsed without * one. This is valid in an <b>UPDATE</b> and <b>DELETE</b> queries. This internally transforms * the what was thought to be an identification variable to a path expression. * * @param variableName The identification variable that was generated to identify the "root" object */ public void setVirtualIdentificationVariable(String variableName) { virtual = true; stateFieldPathExpression = new StateFieldPathExpression(getParent(), getText()); stateFieldPathExpression.setVirtualIdentificationVariable(variableName); rebuildActualText(); rebuildParsedText(); }
/** * Sets a virtual identification variable because the abstract schema name was parsed without * one. This is valid in an <b>UPDATE</b> and <b>DELETE</b> queries. This internally transforms * the what was thought to be an identification variable to a path expression. * * @param variableName The identification variable that was generated to identify the "root" object */ public void setVirtualIdentificationVariable(String variableName) { virtual = true; stateFieldPathExpression = new StateFieldPathExpression(getParent(), getText()); stateFieldPathExpression.setVirtualIdentificationVariable(variableName); rebuildActualText(); rebuildParsedText(); }
!ExpressionTools.isFunctionExpression(wordParser, word)) { expression = new StateFieldPathExpression(parent, word); expression.parse(wordParser, tolerant); return expression; expression = new StateFieldPathExpression(parent, word); expression.parse(wordParser, tolerant); return expression;
!ExpressionTools.isFunctionExpression(wordParser, word)) { expression = new StateFieldPathExpression(parent, word); expression.parse(wordParser, tolerant); return expression; expression = new StateFieldPathExpression(parent, word); expression.parse(wordParser, tolerant); return expression;
expression = new StateFieldPathExpression(parent, word); expression.parse(wordParser, tolerant); return expression;
expression = new StateFieldPathExpression(parent, word); expression.parse(wordParser, tolerant); return expression;
expression = new StateFieldPathExpression(parent, expression, word); expression = new StateFieldPathExpression(parent, word);
/** * {@inheritDoc} */ @Override protected void parse(WordParser wordParser, boolean tolerant) { // Parse state field if (tolerant) { stateFieldExpression = parse(wordParser, UpdateItemStateFieldPathExpressionBNF.ID, tolerant); } else { stateFieldExpression = new StateFieldPathExpression(this, wordParser.word()); stateFieldExpression.parse(wordParser, tolerant); } hasSpaceAfterStateFieldPathExpression = wordParser.skipLeadingWhitespace() > 0; // Parse '=' hasEqualSign = wordParser.startsWith(EQUAL); if (hasEqualSign) { wordParser.moveForward(1); hasSpaceAfterEqualSign = wordParser.skipLeadingWhitespace() > 0; if (stateFieldExpression != null) { hasSpaceAfterStateFieldPathExpression = true; } } // Parse new value newValue = parse(wordParser, NewValueBNF.ID, tolerant); if (!hasSpaceAfterEqualSign && (newValue != null)) { hasSpaceAfterEqualSign = true; } }
expression = new StateFieldPathExpression(parent, expression, word); expression = new StateFieldPathExpression(parent, word);
/** * {@inheritDoc} */ @Override protected void parse(WordParser wordParser, boolean tolerant) { // Parse state field if (tolerant) { stateFieldExpression = parse(wordParser, UpdateItemStateFieldPathExpressionBNF.ID, tolerant); } else { stateFieldExpression = new StateFieldPathExpression(this, wordParser.word()); stateFieldExpression.parse(wordParser, tolerant); } hasSpaceAfterStateFieldPathExpression = wordParser.skipLeadingWhitespace() > 0; // Parse '=' hasEqualSign = wordParser.startsWith(EQUAL); if (hasEqualSign) { wordParser.moveForward(1); hasSpaceAfterEqualSign = wordParser.skipLeadingWhitespace() > 0; if (stateFieldExpression != null) { hasSpaceAfterStateFieldPathExpression = true; } } // Parse new value newValue = parse(wordParser, NewValueBNF.ID, tolerant); if (!hasSpaceAfterEqualSign && (newValue != null)) { hasSpaceAfterEqualSign = true; } }