public final class InExpression extends AbstractExpression
state_field_path_expression must have a string, numeric, or enum value. The
literal and/or input_parameter values must be like the same abstract schema type of
the state_field_path_expression in type.
The results of the subquery must be like the same abstract schema type of the
state_field_path_expression in type.
There must be at least one element in the comma separated list that defines the set of values for
the IN expression. If the value of a state_field_path_expression in an
IN or NOT IN expression is NULL or unknown, the value of the expression is
unknown.
JPA 1.0:
in_expression ::= state_field_path_expression [NOT] IN(in_item {, in_item}* | subquery)JPA 2.0
in_expression ::= {state_field_path_expression | type_discriminator} [NOT] IN { ( in_item {, in_item}* ) | (subquery) | collection_valued_input_parameter }
COMMA, DOT, DOUBLE_QUOTE, LEFT_CURLY_BRACKET, LEFT_PARENTHESIS, NOT_DEFINED, RIGHT_CURLY_BRACKET, RIGHT_PARENTHESIS, SINGLE_QUOTE, SPACE, UNDERSCOREABS, ALL, AND, ANY, AS, ASC, AVG, BETWEEN, BIT_LENGTH, BOTH, CASE, CHAR_LENGTH, CHARACTER_LENGTH, CLASS, COALESCE, CONCAT, COUNT, CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP, DELETE, DELETE_FROM, DESC, DIFFERENT, DISTINCT, DIVISION, ELSE, EMPTY, END, ENTRY, EQUAL, ESCAPE, EXISTS, FALSE, FETCH, FROM, FUNC, GREATER_THAN, GREATER_THAN_OR_EQUAL, GROUP_BY, HAVING, IN, INDEX, INNER, INNER_JOIN, INNER_JOIN_FETCH, IS, IS_EMPTY, IS_NOT_EMPTY, IS_NOT_NULL, IS_NULL, JOIN, JOIN_FETCH, KEY, 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_EXISTS, NOT_IN, NOT_LIKE, NOT_MEMBER, NOT_MEMBER_OF, NULL, NULLIF, OBJECT, OF, OR, ORDER_BY, OUTER, PLUS, POSITION, POSITIONAL_PARAMETER, QUOTE, SELECT, SET, SIZE, SOME, SQRT, SUBSTRING, SUM, THEN, TRAILING, TREAT, TRIM, TRUE, TYPE, UNKNOWN, UPDATE, UPPER, VALUE, WHEN, WHERE| Modifier and Type | Method and Description |
|---|---|
void |
accept(ExpressionVisitor visitor)
Visits this
Expression by the given visitor. |
void |
acceptChildren(ExpressionVisitor visitor)
Visits the children of this
Expression. |
JPQLQueryBNF |
findQueryBNF(AbstractExpression expression)
Retrieves the
JPQLQueryBNF that was used to parse the given Expression. |
Expression |
getExpression()
Returns the
Expression that represents the state field path expression or type
discriminator. |
java.lang.String |
getIdentifier()
Returns the identifier for this expression.
|
Expression |
getInItems()
Returns the
Expression that represents the list if items. |
JPQLQueryBNF |
getQueryBNF()
Returns the BNF of this
Expression. |
boolean |
hasExpression()
Determines whether the state field path expression or type discriminator was parsed.
|
boolean |
hasInItems()
Determines whether the list of items was parsed.
|
boolean |
hasLeftParenthesis()
Determines whether the open parenthesis was parsed or not.
|
boolean |
hasNot()
Determines whether the identifier NOT was parsed.
|
boolean |
hasRightParenthesis()
Determines whether the close parenthesis was parsed or not.
|
children, getChildren, getParent, getRoot, identifierRole, identifiers, identifierVersion, isAncestor, isIdentifier, isVirtual, orderedChildren, queryBNF, toActualText, toParsedText, toStringpublic void accept(ExpressionVisitor visitor)
Expression by the given visitor.visitor - The visitor to visit this objectpublic void acceptChildren(ExpressionVisitor visitor)
Expression. This method can be used to optimize traversing
the children since a new list is not created every time Expression.children() or Expression.getChildren() is called.
This does not traverse the Expression sub-hierarchy, use an subclass of
AbstractTraverseChildrenVisitor in order to traverse the entire sub-hierarchy.
visitor - The visitor to visit the children of this object.public JPQLQueryBNF findQueryBNF(AbstractExpression expression)
JPQLQueryBNF that was used to parse the given Expression.findQueryBNF in class AbstractExpressionexpression - The expression for which its BNF is neededJPQLQueryBNF that was used to parse the given expressionpublic Expression getExpression()
Expression that represents the state field path expression or type
discriminator.public java.lang.String getIdentifier()
public Expression getInItems()
Expression that represents the list if items.public JPQLQueryBNF getQueryBNF()
Expression.getQueryBNF in class AbstractExpressionJPQLQueryBNF, which represents the grammar of this Expressionpublic boolean hasExpression()
true if the state field path expression or type discriminator was parsed;
false if it was not parsedpublic boolean hasInItems()
true if at least one item was parsed; false
otherwisepublic boolean hasLeftParenthesis()
true if the open parenthesis was present in the string version of the
query; false otherwisepublic boolean hasNot()
true if the identifier NOT was parsed; false otherwisepublic boolean hasRightParenthesis()
true if the close parenthesis was present in the string version of the
query; false otherwiseEclipseLink 2.3.2, "build v20111125-r10461" API Reference