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
This expression represents an arithmetic expression, which means the first and second expressions
are aggregated with an arithmetic sign.
- Version:
- 2.5
- See Also:
- Author:
- Pascal Filion
-
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
ModifierConstructorDescriptionprotected
ArithmeticExpression
(AbstractExpression parent, String identifier) Creates a newArithmeticExpression
. -
Method Summary
Modifier and TypeMethodDescriptionfindQueryBNF
(Expression expression) Retrieves theJPQLQueryBNF
that represents the fragment of thisExpression
that was used when parsing the givenExpression
.final String
Returns the arithmetic sign this expression is actually representing.Returns the unique identifier of theJPQLQueryBNF
for the left expression.final JPQLQueryBNF
Returns the BNF of thisExpression
.final String
Returns the unique identifier of theJPQLQueryBNF
for the right expression.protected boolean
isParsingComplete
(WordParser wordParser, String word, Expression expression) Determines whether the parsing is complete based on what is left in the given text.protected final String
parseIdentifier
(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 Details
-
ArithmeticExpression
Creates a newArithmeticExpression
.- Parameters:
parent
- The parent of this expressionidentifier
- The arithmetic sign
-
-
Method Details
-
findQueryBNF
Description copied from interface:Expression
Retrieves theJPQLQueryBNF
that represents the fragment of thisExpression
that was used when parsing the givenExpression
.- Specified by:
findQueryBNF
in interfaceExpression
- Overrides:
findQueryBNF
in classCompoundExpression
- Parameters:
expression
- TheExpression
that is a descendant of this one- Returns:
- The
JPQLQueryBNF
that was used to parse the given expression
-
getArithmeticSign
Returns the arithmetic sign this expression is actually representing.- Returns:
- The single character value of the arithmetic sign
-
getLeftExpressionQueryBNFId
Description copied from class:CompoundExpression
Returns the unique identifier of theJPQLQueryBNF
for the left expression.- Specified by:
getLeftExpressionQueryBNFId
in classCompoundExpression
- Returns:
- The ID of the BNF used when parsing the expression before the identifier
-
getQueryBNF
Description copied from interface:Expression
Returns the BNF of thisExpression
.- Returns:
- The
JPQLQueryBNF
, which represents the grammar of thisExpression
-
getRightExpressionQueryBNFId
Description copied from class:CompoundExpression
Returns the unique identifier of theJPQLQueryBNF
for the right expression.- Specified by:
getRightExpressionQueryBNFId
in classCompoundExpression
- Returns:
- The ID of the BNF used when parsing the expression after the identifier
-
isParsingComplete
Description copied from class:AbstractExpression
Determines whether the parsing is complete based on what is left in the given text. The text is never empty.- Overrides:
isParsingComplete
in 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
- TheExpression
that has already been parsed- Returns:
true
if the text no longer can't be parsed by the current expression;false
if more can be parsed
-
parseIdentifier
Description copied from class:CompoundExpression
Parses the identifier of this expression.- Specified by:
parseIdentifier
in classCompoundExpression
- Parameters:
wordParser
- TheWordParser
containing the text to parse, which starts with the identifier- Returns:
- The identifier for this expression
-