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 protected
ArithmeticExpression(AbstractExpression parent, java.lang.String identifier)
Creates a newArithmeticExpression
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description JPQLQueryBNF
findQueryBNF(Expression expression)
Retrieves theJPQLQueryBNF
that represents the fragment of thisExpression
that was used when parsing the givenExpression
.java.lang.String
getArithmeticSign()
Returns the arithmetic sign this expression is actually representing.java.lang.String
getLeftExpressionQueryBNFId()
Returns the unique identifier of theJPQLQueryBNF
for the left expression.JPQLQueryBNF
getQueryBNF()
Returns the BNF of thisExpression
.java.lang.String
getRightExpressionQueryBNFId()
Returns the unique identifier of theJPQLQueryBNF
for the right expression.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.protected java.lang.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 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 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
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 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
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 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
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:
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
protected final java.lang.String parseIdentifier(WordParser wordParser)
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
-
-