public class OrExpressionStateObject extends LogicalExpressionStateObject
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 |
conditional_expression ::= conditional_expression OR conditional_termOrExpressionLEFT_STATE_OBJECT_PROPERTY, RIGHT_STATE_OBJECT_PROPERTY| Constructor and Description |
|---|
OrExpressionStateObject(StateObject parent)
Creates a new
OrExpressionStateObject. |
OrExpressionStateObject(StateObject parent,
StateObject leftStateObject,
StateObject rightStateObject)
Creates a new
OrExpressionStateObject. |
OrExpressionStateObject(StateObject parent,
java.lang.String leftJpqlFragment,
java.lang.String rightJpqlFragment)
Creates a new
OrExpressionStateObject. |
| Modifier and Type | Method and Description |
|---|---|
void |
accept(StateObjectVisitor visitor)
Visits this
StateObject by the given visitor. |
OrExpression |
getExpression()
Returns the actual parsed object if this
StateObject representation of the JPQL query
was created by parsing an existing JPQL query. |
java.lang.String |
getIdentifier()
Returns the identifier joining the two
StateObjects. |
protected java.lang.String |
getLeftQueryBNFId()
Returns the unique identifier of the BNF that will be used to parse a JPQL fragment as the
left side of the expression.
|
protected java.lang.String |
getRightQueryBNFId()
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 the
parsed object object, which should only be
done when this object is instantiated during the conversion of a parsed JPQL query into
StateObjects. |
addChildren, getLeft, getRight, hasLeft, hasRight, isEquivalent, parseLeft, parseRight, setLeft, setRight, toTextInternalacceptUnknownVisitor, 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, toTextpublic OrExpressionStateObject(StateObject parent)
OrExpressionStateObject.parent - The parent of this state object, which cannot be nulljava.lang.NullPointerException - The given parent cannot be nullpublic OrExpressionStateObject(StateObject parent, StateObject leftStateObject, StateObject rightStateObject)
OrExpressionStateObject.parent - The parent of this state object, which cannot be nullleftStateObject - The StateObject representing the left expressionrightStateObject - The StateObject representing the right expressionjava.lang.NullPointerException - The given parent cannot be nullpublic OrExpressionStateObject(StateObject parent, java.lang.String leftJpqlFragment, java.lang.String rightJpqlFragment)
OrExpressionStateObject.parent - The parent of this state object, which cannot be nullleftJpqlFragment - The string representation of the left expression to parse and to
convert into a StateObjectrightJpqlFragment - The string representation of the right expression to parse and to
convert into a StateObjectjava.lang.NullPointerException - The given parent cannot be nullpublic void accept(StateObjectVisitor visitor)
StateObject by the given visitor.visitor - The visitor to visit this objectpublic OrExpression getExpression()
StateObject representation of the JPQL query
was created by parsing an existing JPQL query.getExpression in interface StateObjectgetExpression in class LogicalExpressionStateObjectStateObject
or null when the JPQL query is manually created (i.e. not from a string)public java.lang.String getIdentifier()
StateObjects.getIdentifier in class CompoundExpressionStateObjectprotected java.lang.String getLeftQueryBNFId()
getLeftQueryBNFId in class CompoundExpressionStateObjectprotected java.lang.String getRightQueryBNFId()
getRightQueryBNFId in class CompoundExpressionStateObjectpublic void setExpression(OrExpression expression)
parsed object object, which should only be
done when this object is instantiated during the conversion of a parsed JPQL query into
StateObjects.expression - The parsed object representing a logical
OR expression