Class OrExpressionStateObject
java.lang.Object
org.eclipse.persistence.jpa.jpql.tools.model.query.AbstractStateObject
org.eclipse.persistence.jpa.jpql.tools.model.query.CompoundExpressionStateObject
org.eclipse.persistence.jpa.jpql.tools.model.query.LogicalExpressionStateObject
org.eclipse.persistence.jpa.jpql.tools.model.query.OrExpressionStateObject
- All Implemented Interfaces:
StateObject
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).
TRUE | FALSE | NULL | |
TRUE | TRUE | TRUE | TRUE |
FALSE | TRUE | FALSE | NULL |
NULL | TRUE | NULL | NULL |
BNF: conditional_expression ::= conditional_expression OR conditional_term
- Since:
- 2.4
- Version:
- 2.4
- See Also:
-
Field Summary
Fields inherited from class org.eclipse.persistence.jpa.jpql.tools.model.query.CompoundExpressionStateObject
LEFT_STATE_OBJECT_PROPERTY, RIGHT_STATE_OBJECT_PROPERTY
-
Constructor Summary
ConstructorDescriptionOrExpressionStateObject
(StateObject parent) Creates a newOrExpressionStateObject
.OrExpressionStateObject
(StateObject parent, String leftJpqlFragment, String rightJpqlFragment) Creates a newOrExpressionStateObject
.OrExpressionStateObject
(StateObject parent, StateObject leftStateObject, StateObject rightStateObject) Creates a newOrExpressionStateObject
. -
Method Summary
Modifier and TypeMethodDescriptionvoid
accept
(StateObjectVisitor visitor) Visits thisStateObject
by the givenvisitor
.Returns the actual parsed object if thisStateObject
representation of the JPQL query was created by parsing an existing JPQL query.Returns the identifier joining the twoStateObjects
.protected String
Returns the unique identifier of the BNF that will be used to parse a JPQL fragment as the left side of the expression.protected String
Returns the unique identifier of the BNF that will be used to parse a JPQL fragment as the right side of the expression.void
setExpression
(OrExpression expression) Keeps a reference of theparsed object
object, which should only be done when this object is instantiated during the conversion of a parsed JPQL query intoStateObjects
.Methods inherited from class org.eclipse.persistence.jpa.jpql.tools.model.query.CompoundExpressionStateObject
addChildren, getLeft, getRight, hasLeft, hasRight, isEquivalent, parseLeft, parseRight, setLeft, setRight, toTextInternal
Methods inherited from class org.eclipse.persistence.jpa.jpql.tools.model.query.AbstractStateObject
acceptUnknownVisitor, acceptUnknownVisitor, addProblems, addPropertyChangeListener, areEquivalent, buildProblem, buildProblem, buildStateObject, buildStateObjects, checkParent, children, decorate, equals, findIdentificationVariable, firePropertyChanged, getChangeSupport, getDeclaration, getDecorator, getGrammar, getManagedTypeProvider, getParent, getQueryBuilder, getRoot, getType, getType, getTypeHelper, getTypeRepository, hashCode, initialize, isDecorated, parent, parent, parent, removePropertyChangeListener, setExpression, setParent, toString, toString, toStringInternal, toStringItems, toText
-
Constructor Details
-
OrExpressionStateObject
Creates a newOrExpressionStateObject
.- Parameters:
parent
- The parent of this state object, which cannot benull
- Throws:
NullPointerException
- The given parent cannot benull
-
OrExpressionStateObject
public OrExpressionStateObject(StateObject parent, StateObject leftStateObject, StateObject rightStateObject) Creates a newOrExpressionStateObject
.- Parameters:
parent
- The parent of this state object, which cannot benull
leftStateObject
- TheStateObject
representing the left expressionrightStateObject
- TheStateObject
representing the right expression- Throws:
NullPointerException
- The given parent cannot benull
-
OrExpressionStateObject
public OrExpressionStateObject(StateObject parent, String leftJpqlFragment, String rightJpqlFragment) Creates a newOrExpressionStateObject
.- Parameters:
parent
- The parent of this state object, which cannot benull
leftJpqlFragment
- The string representation of the left expression to parse and to convert into aStateObject
rightJpqlFragment
- The string representation of the right expression to parse and to convert into aStateObject
- Throws:
NullPointerException
- The given parent cannot benull
-
-
Method Details
-
accept
Description copied from interface:StateObject
Visits thisStateObject
by the givenvisitor
.- Parameters:
visitor
- Thevisitor
to visit this object
-
getExpression
Description copied from interface:StateObject
Returns the actual parsed object if thisStateObject
representation of the JPQL query was created by parsing an existing JPQL query.- Specified by:
getExpression
in interfaceStateObject
- Overrides:
getExpression
in classLogicalExpressionStateObject
- Returns:
- The parsed object when a JPQL query is parsed and converted into a
StateObject
ornull
when the JPQL query is manually created (i.e. not from a string)
-
getIdentifier
Description copied from class:CompoundExpressionStateObject
Returns the identifier joining the twoStateObjects
.- Specified by:
getIdentifier
in classCompoundExpressionStateObject
- Returns:
- The JPQL identifier join two expressions
-
getLeftQueryBNFId
Description copied from class:CompoundExpressionStateObject
Returns the unique identifier of the BNF that will be used to parse a JPQL fragment as the left side of the expression.- Specified by:
getLeftQueryBNFId
in classCompoundExpressionStateObject
- Returns:
- The query BNF ID for the left side of the expression
-
getRightQueryBNFId
Description copied from class:CompoundExpressionStateObject
Returns the unique identifier of the BNF that will be used to parse a JPQL fragment as the right side of the expression.- Specified by:
getRightQueryBNFId
in classCompoundExpressionStateObject
- Returns:
- The query BNF ID for the right side of the expression
-
setExpression
Keeps a reference of theparsed object
object, which should only be done when this object is instantiated during the conversion of a parsed JPQL query intoStateObjects
.- Parameters:
expression
- Theparsed object
representing a logicalOR
expression
-