Class ArithmeticExpression
- java.lang.Object
-
- org.eclipse.persistence.jpa.jpql.parser.AbstractExpression
-
- org.eclipse.persistence.jpa.jpql.parser.CompoundExpression
-
- org.eclipse.persistence.jpa.jpql.parser.ArithmeticExpression
-
- All Implemented Interfaces:
Expression
- Direct Known Subclasses:
AdditionExpression,DivisionExpression,MultiplicationExpression,SubtractionExpression
public abstract class ArithmeticExpression extends CompoundExpression
This expression represents an arithmetic expression, which means the first and second expressions are aggregated with an arithmetic sign.- Version:
- 2.5
- See Also:
AdditionExpression,DivisionExpression,MultiplicationExpression,SubtractionExpression- Author:
- Pascal Filion
- Since:
- 2.3
-
-
Field Summary
-
Fields inherited from class org.eclipse.persistence.jpa.jpql.parser.AbstractExpression
COMMA, DOT, DOUBLE_QUOTE, LEFT_CURLY_BRACKET, LEFT_PARENTHESIS, NOT_DEFINED, RIGHT_CURLY_BRACKET, RIGHT_PARENTHESIS, SINGLE_QUOTE, SPACE, UNDERSCORE
-
Fields inherited from interface org.eclipse.persistence.jpa.jpql.parser.Expression
ABS, ALL, AND, ANY, AS, AS_OF, ASC, AVG, BETWEEN, BIT_LENGTH, BOTH, CASE, CAST, CHAR_LENGTH, CHARACTER_LENGTH, CLASS, COALESCE, COLUMN, CONCAT, CONNECT_BY, COUNT, CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP, DELETE, DELETE_FROM, DESC, DIFFERENT, DISTINCT, DIVISION, ELSE, EMPTY, END, ENTRY, EQUAL, ESCAPE, EXCEPT, EXISTS, EXTRACT, FALSE, FETCH, FIRST, FROM, FUNC, FUNCTION, GREATER_THAN, GREATER_THAN_OR_EQUAL, GROUP_BY, HAVING, IN, INDEX, INNER, INNER_JOIN, INNER_JOIN_FETCH, INTERSECT, IS, IS_EMPTY, IS_NOT_EMPTY, IS_NOT_NULL, IS_NULL, JOIN, JOIN_FETCH, KEY, LAST, LEADING, LEFT, LEFT_JOIN, LEFT_JOIN_FETCH, LEFT_OUTER_JOIN, LEFT_OUTER_JOIN_FETCH, LENGTH, LIKE, LOCATE, LOWER, LOWER_THAN, LOWER_THAN_OR_EQUAL, MAX, MEMBER, MEMBER_OF, MIN, MINUS, MOD, MULTIPLICATION, NAMED_PARAMETER, NEW, NOT, NOT_BETWEEN, NOT_EQUAL, NOT_EXISTS, NOT_IN, NOT_LIKE, NOT_MEMBER, NOT_MEMBER_OF, NULL, NULLIF, NULLS, NULLS_FIRST, NULLS_LAST, OBJECT, OF, ON, OPERATOR, OR, ORDER_BY, ORDER_SIBLINGS_BY, OUTER, PLUS, POSITION, POSITIONAL_PARAMETER, QUOTE, REGEXP, SCN, SELECT, SET, SIZE, SOME, SQL, SQRT, START_WITH, SUBSTRING, SUM, TABLE, THEN, TIMESTAMP, TRAILING, TREAT, TRIM, TRUE, TYPE, UNION, UNKNOWN, UPDATE, UPPER, VALUE, WHEN, WHERE
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedArithmeticExpression(AbstractExpression parent, java.lang.String identifier)Creates a newArithmeticExpression.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description JPQLQueryBNFfindQueryBNF(Expression expression)Retrieves theJPQLQueryBNFthat represents the fragment of thisExpressionthat was used when parsing the givenExpression.java.lang.StringgetArithmeticSign()Returns the arithmetic sign this expression is actually representing.java.lang.StringgetLeftExpressionQueryBNFId()Returns the unique identifier of theJPQLQueryBNFfor the left expression.JPQLQueryBNFgetQueryBNF()Returns the BNF of thisExpression.java.lang.StringgetRightExpressionQueryBNFId()Returns the unique identifier of theJPQLQueryBNFfor the right expression.protected booleanisParsingComplete(WordParser wordParser, java.lang.String word, Expression expression)Determines whether the parsing is complete based on what is left in the given text.protected java.lang.StringparseIdentifier(WordParser wordParser)Parses the identifier of this expression.-
Methods inherited from class org.eclipse.persistence.jpa.jpql.parser.CompoundExpression
acceptChildren, addChildrenTo, addOrderedChildrenTo, getActualIdentifier, getIdentifier, getLeftExpression, getRightExpression, hasLeftExpression, hasRightExpression, hasSpaceAfterIdentifier, parse, setLeftExpression, setRightExpression, toParsedText
-
Methods inherited from class org.eclipse.persistence.jpa.jpql.parser.AbstractExpression
acceptUnknownVisitor, acceptUnknownVisitor, buildExpressionFromFallingBack, buildNullExpression, buildStringExpression, buildStringExpression, buildUnknownExpression, calculatePosition, children, findFallBackExpressionFactory, getExpressionFactory, getExpressionRegistry, getGrammar, getIdentifierVersion, getJPAVersion, getLength, getOffset, getParent, getQueryBNF, getRoot, getText, handleAggregate, handleCollection, isAncestor, isIdentifier, isNull, isTolerant, isUnknown, isVirtual, orderedChildren, parse, parseUsingExpressionFactory, populatePosition, rebuildActualText, rebuildParsedText, setParent, setText, shouldParseWithFactoryFirst, shouldSkipLiteral, toActualText, toParsedText, toString
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.eclipse.persistence.jpa.jpql.parser.Expression
accept
-
-
-
-
Constructor Detail
-
ArithmeticExpression
protected ArithmeticExpression(AbstractExpression parent, java.lang.String identifier)
Creates a newArithmeticExpression.- Parameters:
parent- The parent of this expressionidentifier- The arithmetic sign
-
-
Method Detail
-
findQueryBNF
public JPQLQueryBNF findQueryBNF(Expression expression)
Retrieves theJPQLQueryBNFthat represents the fragment of thisExpressionthat was used when parsing the givenExpression.- Specified by:
findQueryBNFin interfaceExpression- Overrides:
findQueryBNFin classCompoundExpression- Parameters:
expression- TheExpressionthat is a descendant of this one- Returns:
- The
JPQLQueryBNFthat was used to parse the given expression
-
getArithmeticSign
public final java.lang.String getArithmeticSign()
Returns the arithmetic sign this expression is actually representing.- Returns:
- The single character value of the arithmetic sign
-
getLeftExpressionQueryBNFId
public java.lang.String getLeftExpressionQueryBNFId()
Returns the unique identifier of theJPQLQueryBNFfor the left expression.- Specified by:
getLeftExpressionQueryBNFIdin classCompoundExpression- Returns:
- The ID of the BNF used when parsing the expression before the identifier
-
getQueryBNF
public final JPQLQueryBNF getQueryBNF()
Returns the BNF of thisExpression.- Returns:
- The
JPQLQueryBNF, which represents the grammar of thisExpression
-
getRightExpressionQueryBNFId
public final java.lang.String getRightExpressionQueryBNFId()
Returns the unique identifier of theJPQLQueryBNFfor the right expression.- Specified by:
getRightExpressionQueryBNFIdin classCompoundExpression- Returns:
- The ID of the BNF used when parsing the expression after the identifier
-
isParsingComplete
protected boolean isParsingComplete(WordParser wordParser, java.lang.String word, Expression expression)
Determines whether the parsing is complete based on what is left in the given text. The text is never empty.- Overrides:
isParsingCompletein classAbstractExpression- Parameters:
wordParser- The text to parse based on the current position of the cursorword- The word that was retrieved from the given text, which is the first word in the textexpression- TheExpressionthat has already been parsed- Returns:
trueif the text no longer can't be parsed by the current expression;falseif more can be parsed
-
parseIdentifier
protected final java.lang.String parseIdentifier(WordParser wordParser)
Parses the identifier of this expression.- Specified by:
parseIdentifierin classCompoundExpression- Parameters:
wordParser- TheWordParsercontaining the text to parse, which starts with the identifier- Returns:
- The identifier for this expression
-
-