public final class SubExpression extends AbstractSingleEncapsulatedExpression
expression ::= (sub_expression)
COMMA, DOT, DOUBLE_QUOTE, LEFT_CURLY_BRACKET, LEFT_PARENTHESIS, NOT_DEFINED, RIGHT_CURLY_BRACKET, RIGHT_PARENTHESIS, SINGLE_QUOTE, SPACE, UNDERSCORE
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 and Description |
---|
SubExpression(AbstractExpression parent,
JPQLQueryBNF queryBNF)
Creates a new
SubExpression . |
Modifier and Type | Method and Description |
---|---|
void |
accept(ExpressionVisitor visitor)
Visits this
Expression by the given visitor . |
protected boolean |
areLogicalIdentifiersSupported() |
JPQLQueryBNF |
findQueryBNF(Expression expression)
Retrieves the
JPQLQueryBNF that represents the fragment of this Expression
that was used when parsing the given Expression . |
java.lang.String |
getEncapsulatedExpressionQueryBNFId()
Returns the BNF used to parse the encapsulated expression.
|
JPQLQueryBNF |
getQueryBNF()
Returns the BNF of this
Expression . |
protected boolean |
handleCollection(JPQLQueryBNF queryBNF)
Determines whether the given
JPQLQueryBNF handles a collection of sub-expressions that
are separated by commas. |
acceptChildren, addChildrenTo, addOrderedEncapsulatedExpressionTo, getExpression, hasEncapsulatedExpression, hasExpression, parseEncapsulatedExpression, removeEncapsulatedExpression, setExpression, toParsedTextEncapsulatedExpression
addOrderedChildrenTo, getActualIdentifier, getIdentifier, hasLeftParenthesis, hasRightParenthesis, hasSpaceAfterIdentifier, isParsingComplete, parse, shouldParseRightParenthesis, toParsedText
acceptUnknownVisitor, acceptUnknownVisitor, buildExpressionFromFallingBack, buildNullExpression, buildStringExpression, buildStringExpression, buildUnknownExpression, calculatePosition, children, findFallBackExpressionFactory, getExpressionFactory, getExpressionRegistry, getGrammar, getIdentifierVersion, getJPAVersion, getLength, getOffset, getParent, getQueryBNF, getRoot, getText, handleAggregate, isAncestor, isIdentifier, isNull, isTolerant, isUnknown, isVirtual, orderedChildren, parse, parseUsingExpressionFactory, populatePosition, rebuildActualText, rebuildParsedText, setParent, setText, shouldParseWithFactoryFirst, shouldSkipLiteral, toActualText, toParsedText, toString
public SubExpression(AbstractExpression parent, JPQLQueryBNF queryBNF)
SubExpression
.parent
- The parent of this expressionqueryBNF
- The BNF coming from the parent that is used to parse the next portion of the querypublic void accept(ExpressionVisitor visitor)
Expression
by the given visitor
.visitor
- The ExpressionVisitor
to visit this objectprotected boolean areLogicalIdentifiersSupported()
areLogicalIdentifiersSupported
in class AbstractEncapsulatedExpression
public java.lang.String getEncapsulatedExpressionQueryBNFId()
getEncapsulatedExpressionQueryBNFId
in class AbstractSingleEncapsulatedExpression
public JPQLQueryBNF findQueryBNF(Expression expression)
JPQLQueryBNF
that represents the fragment of this Expression
that was used when parsing the given Expression
.findQueryBNF
in interface Expression
findQueryBNF
in class AbstractSingleEncapsulatedExpression
expression
- The Expression
that is a descendant of this oneJPQLQueryBNF
that was used to parse the given expressionpublic JPQLQueryBNF getQueryBNF()
Expression
.JPQLQueryBNF
, which represents the grammar of this Expression
protected boolean handleCollection(JPQLQueryBNF queryBNF)
JPQLQueryBNF
handles a collection of sub-expressions that
are separated by commas.handleCollection
in class AbstractExpression
queryBNF
- The JPQLQueryBNF
used to determine if the parsing should handle
collection of sub-expressionstrue
if the sub-expression to parse might have several sub-expressions
separated by commas; false
otherwise