Class AllOrAnyExpression
java.lang.Object
org.eclipse.persistence.jpa.jpql.parser.AbstractExpression
org.eclipse.persistence.jpa.jpql.parser.AbstractEncapsulatedExpression
org.eclipse.persistence.jpa.jpql.parser.AbstractSingleEncapsulatedExpression
org.eclipse.persistence.jpa.jpql.parser.AllOrAnyExpression
- All Implemented Interfaces:
Expression
An ALL conditional expression is a predicate that is
true
if the comparison
operation is true
for all values in the result of the subquery or the result of the
subquery is empty. An ALL conditional expression is false
if the result of
the comparison is false
for at least one row, and is unknown if neither
true
nor false
.
An ANY conditional expression is a predicate that is true
if the comparison
operation is true
for some value in the result of the subquery. An ANY
conditional expression is false
if the result of the subquery is empty or if the
comparison operation is false
for every value in the result of the subquery, and is
unknown if neither true
nor false
. The keyword SOME is
synonymous with ANY. The comparison operators used with ALL or ANY
conditional expressions are =, <, <=, >, >=, <>. The result of the subquery must be
like that of the other argument to the comparison operator in type.
BNF:
all_or_any_expression ::= {ALL|ANY|SOME}(subquery)
- Version:
- 2.5
- 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
ConstructorDescriptionAllOrAnyExpression
(AbstractExpression parent, String identifier) Creates a newAllOrAnyExpression
. -
Method Summary
Modifier and TypeMethodDescriptionvoid
accept
(ExpressionVisitor visitor) Visits thisExpression
by the givenvisitor
.Returns the BNF used to parse the encapsulated expression.Returns the BNF of thisExpression
.protected AbstractExpression
parse
(WordParser wordParser, String queryBNFId, boolean tolerant) Parses the given text by using the specified BNF.Methods inherited from class org.eclipse.persistence.jpa.jpql.parser.AbstractSingleEncapsulatedExpression
acceptChildren, addChildrenTo, addOrderedEncapsulatedExpressionTo, findQueryBNF, getExpression, hasEncapsulatedExpression, hasExpression, parseEncapsulatedExpression, removeEncapsulatedExpression, setExpression, toParsedTextEncapsulatedExpression
Methods inherited from class org.eclipse.persistence.jpa.jpql.parser.AbstractEncapsulatedExpression
addOrderedChildrenTo, areLogicalIdentifiersSupported, getActualIdentifier, getIdentifier, hasLeftParenthesis, hasRightParenthesis, hasSpaceAfterIdentifier, isParsingComplete, parse, shouldParseRightParenthesis, 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, parseUsingExpressionFactory, populatePosition, rebuildActualText, rebuildParsedText, setParent, setText, shouldParseWithFactoryFirst, shouldSkipLiteral, toActualText, toParsedText, toString
-
Constructor Details
-
Method Details
-
accept
Description copied from interface:Expression
Visits thisExpression
by the givenvisitor
.- Parameters:
visitor
- TheExpressionVisitor
to visit this object
-
getEncapsulatedExpressionQueryBNFId
Description copied from class:AbstractSingleEncapsulatedExpression
Returns the BNF used to parse the encapsulated expression.- Specified by:
getEncapsulatedExpressionQueryBNFId
in classAbstractSingleEncapsulatedExpression
- Returns:
- The BNF used to parse the encapsulated expression
-
getQueryBNF
Description copied from interface:Expression
Returns the BNF of thisExpression
.- Returns:
- The
JPQLQueryBNF
, which represents the grammar of thisExpression
-
parse
Description copied from class:AbstractExpression
Parses the given text by using the specified BNF.- Overrides:
parse
in classAbstractExpression
- Parameters:
wordParser
- The text to parse based on the current position of the cursorqueryBNFId
- The unique identifier of theJPQLQueryBNF
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 queries- Returns:
- The
Expression
representing the given sub-query
-