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
ConstructorsConstructorDescriptionOrExpressionStateObject(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 TypeMethodDescriptionvoidaccept(StateObjectVisitor visitor) Visits thisStateObjectby the givenvisitor.Returns the actual parsed object if thisStateObjectrepresentation of the JPQL query was created by parsing an existing JPQL query.Returns the identifier joining the twoStateObjects.protected StringReturns the unique identifier of the BNF that will be used to parse a JPQL fragment as the left side of the expression.protected StringReturns the unique identifier of the BNF that will be used to parse a JPQL fragment as the right side of the expression.voidsetExpression(OrExpression expression) Keeps a reference of theparsed objectobject, 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, toTextInternalMethods 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 benullleftStateObject- TheStateObjectrepresenting the left expressionrightStateObject- TheStateObjectrepresenting 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 benullleftJpqlFragment- The string representation of the left expression to parse and to convert into aStateObjectrightJpqlFragment- 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:StateObjectVisits thisStateObjectby the givenvisitor.- Parameters:
visitor- Thevisitorto visit this object
-
getExpression
Description copied from interface:StateObjectReturns the actual parsed object if thisStateObjectrepresentation of the JPQL query was created by parsing an existing JPQL query.- Specified by:
getExpressionin interfaceStateObject- Overrides:
getExpressionin classLogicalExpressionStateObject- Returns:
- The parsed object when a JPQL query is parsed and converted into a
StateObjectornullwhen the JPQL query is manually created (i.e. not from a string)
-
getIdentifier
Description copied from class:CompoundExpressionStateObjectReturns the identifier joining the twoStateObjects.- Specified by:
getIdentifierin classCompoundExpressionStateObject- Returns:
- The JPQL identifier join two expressions
-
getLeftQueryBNFId
Description copied from class:CompoundExpressionStateObjectReturns the unique identifier of the BNF that will be used to parse a JPQL fragment as the left side of the expression.- Specified by:
getLeftQueryBNFIdin classCompoundExpressionStateObject- Returns:
- The query BNF ID for the left side of the expression
-
getRightQueryBNFId
Description copied from class:CompoundExpressionStateObjectReturns the unique identifier of the BNF that will be used to parse a JPQL fragment as the right side of the expression.- Specified by:
getRightQueryBNFIdin classCompoundExpressionStateObject- Returns:
- The query BNF ID for the right side of the expression
-
setExpression
Keeps a reference of theparsed objectobject, which should only be done when this object is instantiated during the conversion of a parsed JPQL query intoStateObjects.- Parameters:
expression- Theparsed objectrepresenting a logicalORexpression
-