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
public class OrExpressionStateObject extends LogicalExpressionStateObject
TheOR
logical operator chains multiple criteria together. A valid operand of anOR
operator must be one of:TRUE
,FALSE
, andNULL
. TheOR
operator has a lower precedence than theAND
operator.NULL
represents unknown. Therefore, if one operand isNULL
and the other operand isTRUE
the result isTRUE
, because oneTRUE
operand is sufficient for aTRUE
result. If one operand isNULL
and the other operand is eitherFALSE
orNULL
, the result isNULL
(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
- Since:
- 2.4
- Version:
- 2.4
- Author:
- Pascal Filion
- See Also:
OrExpression
-
-
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
Constructors Constructor Description OrExpressionStateObject(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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
accept(StateObjectVisitor visitor)
Visits thisStateObject
by the givenvisitor
.OrExpression
getExpression()
Returns the actual parsed object if thisStateObject
representation of the JPQL query was created by parsing an existing JPQL query.String
getIdentifier()
Returns the identifier joining the twoStateObjects
.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
getLeft, getRight, hasLeft, hasRight, isEquivalent, parseLeft, parseRight, setLeft, setRight
-
Methods inherited from class org.eclipse.persistence.jpa.jpql.tools.model.query.AbstractStateObject
addPropertyChangeListener, children, decorate, equals, findIdentificationVariable, getDeclaration, getDecorator, getGrammar, getManagedTypeProvider, getParent, getQueryBuilder, getRoot, getType, getType, getTypeHelper, getTypeRepository, hashCode, isDecorated, removePropertyChangeListener, setExpression, setParent, toString, toString, toText
-
-
-
-
Constructor Detail
-
OrExpressionStateObject
public OrExpressionStateObject(StateObject parent)
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 Detail
-
accept
public void accept(StateObjectVisitor visitor)
Visits thisStateObject
by the givenvisitor
.- Parameters:
visitor
- Thevisitor
to visit this object
-
getExpression
public OrExpression getExpression()
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
public String getIdentifier()
Returns the identifier joining the twoStateObjects
.- Specified by:
getIdentifier
in classCompoundExpressionStateObject
- Returns:
- The JPQL identifier join two expressions
-
setExpression
public 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
.- Parameters:
expression
- Theparsed object
representing a logicalOR
expression
-
-