public final class ExistsExpression extends AbstractSingleEncapsulatedExpression
true
only if the result of the
subquery consists of one or more values and that is false
otherwise.
exists_expression ::= [NOT] EXISTS(subquery)
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 |
---|
ExistsExpression(AbstractExpression parent)
Creates a new
ExistsExpression . |
Modifier and Type | Method and Description |
---|---|
void |
accept(ExpressionVisitor visitor)
Visits this
Expression by the given visitor . |
java.lang.String |
getActualNotIdentifier()
Returns the actual NOT identifier found in the string representation of the JPQL query,
which has the actual case that was used.
|
java.lang.String |
getEncapsulatedExpressionQueryBNFId()
Returns the BNF used to parse the encapsulated expression.
|
JPQLQueryBNF |
getQueryBNF()
Returns the BNF of this
Expression . |
boolean |
hasNot()
Determines whether the identifier NOT was parsed.
|
protected void |
parse(WordParser wordParser,
boolean tolerant)
Parses the query by starting at the current position, which is part of the given
WordParser . |
protected AbstractExpression |
parse(WordParser wordParser,
java.lang.String queryBNFId,
boolean tolerant)
Parses the given text by using the specified BNF.
|
acceptChildren, addChildrenTo, addOrderedEncapsulatedExpressionTo, findQueryBNF, getExpression, hasEncapsulatedExpression, hasExpression, parseEncapsulatedExpression, removeEncapsulatedExpression, setExpression, toParsedTextEncapsulatedExpression
addOrderedChildrenTo, areLogicalIdentifiersSupported, getActualIdentifier, getIdentifier, hasLeftParenthesis, hasRightParenthesis, hasSpaceAfterIdentifier, isParsingComplete, shouldParseRightParenthesis, toParsedText
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, parseUsingExpressionFactory, populatePosition, rebuildActualText, rebuildParsedText, setParent, setText, shouldParseWithFactoryFirst, shouldSkipLiteral, toActualText, toParsedText, toString
public ExistsExpression(AbstractExpression parent)
ExistsExpression
.parent
- The parent of this expressionpublic void accept(ExpressionVisitor visitor)
Expression
by the given visitor
.visitor
- The ExpressionVisitor
to visit this objectpublic java.lang.String getEncapsulatedExpressionQueryBNFId()
getEncapsulatedExpressionQueryBNFId
in class AbstractSingleEncapsulatedExpression
public java.lang.String getActualNotIdentifier()
public JPQLQueryBNF getQueryBNF()
Expression
.JPQLQueryBNF
, which represents the grammar of this Expression
public boolean hasNot()
true
if the identifier NOT was parsed; false
otherwiseprotected void parse(WordParser wordParser, boolean tolerant)
WordParser
.parse
in class AbstractEncapsulatedExpression
wordParser
- The text to parse based on the current position of the cursortolerant
- Determines whether the parsing system should be tolerant, meaning if it should
try to parse invalid or incomplete queriesprotected AbstractExpression parse(WordParser wordParser, java.lang.String queryBNFId, boolean tolerant)
parse
in class AbstractExpression
wordParser
- The text to parse based on the current position of the cursorqueryBNFId
- The unique identifier of the JPQLQueryBNF
that is used to determine
how to parse the text at the current cursor position within the JPQL querytolerant
- Determines whether the parsing system should be tolerant, meaning if it should
try to parse invalid or incomplete queriesExpression
representing the given sub-query