Class OrExpression
- java.lang.Object
-
- org.eclipse.persistence.jpa.jpql.parser.AbstractExpression
-
- org.eclipse.persistence.jpa.jpql.parser.CompoundExpression
-
- org.eclipse.persistence.jpa.jpql.parser.LogicalExpression
-
- org.eclipse.persistence.jpa.jpql.parser.OrExpression
-
- All Implemented Interfaces:
Expression
public final class OrExpression extends LogicalExpression
The OR logical operator chains multiple criteria together. A valid operand of an OR operator must be one of: TRUE, FALSE, and NULL. The OR operator has a lower precedence than the AND operator.NULL represents unknown. Therefore, if one operand is NULL and the other operand is TRUE the result is TRUE, because one TRUE operand is sufficient for a TRUE result. If one operand is NULL and the other operand is either FALSE or NULL, the result is NULL (unknown).
The following table shows how the OR operator is evaluated based on its two operands:
TRUE FALSE NULL TRUE TRUE TRUE TRUE FALSE TRUE FALSE NULL NULL TRUE NULL NULL BNF:conditional_expression ::= conditional_expression OR conditional_term- Version:
- 2.5
- 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 Constructor Description OrExpression(AbstractExpression parent)Creates a newOrExpression.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaccept(ExpressionVisitor visitor)Visits thisExpressionby the givenvisitor.java.lang.StringgetLeftExpressionQueryBNFId()Returns the unique identifier of theJPQLQueryBNFfor the left expression.java.lang.StringgetRightExpressionQueryBNFId()Returns the unique identifier of theJPQLQueryBNFfor the right expression.-
Methods inherited from class org.eclipse.persistence.jpa.jpql.parser.LogicalExpression
getQueryBNF, isParsingComplete, parseIdentifier
-
Methods inherited from class org.eclipse.persistence.jpa.jpql.parser.CompoundExpression
acceptChildren, addChildrenTo, addOrderedChildrenTo, findQueryBNF, 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
-
-
-
-
Constructor Detail
-
OrExpression
public OrExpression(AbstractExpression parent)
Creates a newOrExpression.- Parameters:
parent- The parent of this expression
-
-
Method Detail
-
accept
public void accept(ExpressionVisitor visitor)
Visits thisExpressionby the givenvisitor.- Parameters:
visitor- TheExpressionVisitorto visit this object
-
getLeftExpressionQueryBNFId
public java.lang.String getLeftExpressionQueryBNFId()
Returns the unique identifier of theJPQLQueryBNFfor the left expression.- Specified by:
getLeftExpressionQueryBNFIdin classCompoundExpression- Returns:
- The ID of the BNF used when parsing the expression before the identifier
-
getRightExpressionQueryBNFId
public java.lang.String getRightExpressionQueryBNFId()
Returns the unique identifier of theJPQLQueryBNFfor the right expression.- Specified by:
getRightExpressionQueryBNFIdin classCompoundExpression- Returns:
- The ID of the BNF used when parsing the expression after the identifier
-
-