public class AndExpressionStateObject extends LogicalExpressionStateObject
AND
logical operator chains multiple criteria together. A valid operand
of an AND
operator must be one of: TRUE
,
FALSE
, and NULL
. The AND
operator has
a higher precedence than the OR
operator.
NULL
represents unknown. Therefore, if one operand is NULL
and the other operand is FALSE
the result is FALSE
,
because one FALSE
operand is sufficient for a FALSE
result. If one operand is NULL
and the other operand is either
TRUE
or NULL
, the result is NULL
(unknown).
The following table shows how the AND
operator is evaluated based on its two
operands:
TRUE | FALSE | NULL | |
TRUE | TRUE | FALSE | NULL |
FALSE | FALSE | FALSE | FALSE |
NULL | NULL | FALSE | NULL |
conditional_term ::= conditional_term AND conditional_factor
AndExpression
LEFT_STATE_OBJECT_PROPERTY, RIGHT_STATE_OBJECT_PROPERTY
Constructor and Description |
---|
AndExpressionStateObject(StateObject parent)
Creates a new
AndExpressionStateObject . |
AndExpressionStateObject(StateObject parent,
StateObject leftStateObject,
StateObject rightStateObject)
Creates a new
AndExpressionStateObject . |
AndExpressionStateObject(StateObject parent,
java.lang.String leftJpqlFragment,
java.lang.String rightJpqlFragment)
Creates a new
AndExpressionStateObject . |
Modifier and Type | Method and Description |
---|---|
void |
accept(StateObjectVisitor visitor)
Visits this
StateObject by the given visitor . |
AndExpression |
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(AndExpression 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, toTextInternal
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
public AndExpressionStateObject(StateObject parent)
AndExpressionStateObject
.parent
- The parent of this state object, which cannot be null
java.lang.NullPointerException
- The given parent cannot be null
public AndExpressionStateObject(StateObject parent, StateObject leftStateObject, StateObject rightStateObject)
AndExpressionStateObject
.parent
- The parent of this state object, which cannot be null
leftStateObject
- The StateObject
representing the left expressionrightStateObject
- The StateObject
representing the right expressionjava.lang.NullPointerException
- The given parent cannot be null
public AndExpressionStateObject(StateObject parent, java.lang.String leftJpqlFragment, java.lang.String rightJpqlFragment)
AndExpressionStateObject
.parent
- The parent of this state object, which cannot be null
leftJpqlFragment
- The string representation of the left expression to parse and to
convert into a StateObject
rightJpqlFragment
- The string representation of the right expression to parse and to
convert into a StateObject
java.lang.NullPointerException
- The given parent cannot be null
public void accept(StateObjectVisitor visitor)
StateObject
by the given visitor
.visitor
- The visitor
to visit this objectpublic AndExpression getExpression()
StateObject
representation of the JPQL query
was created by parsing an existing JPQL query.getExpression
in interface StateObject
getExpression
in class LogicalExpressionStateObject
StateObject
or null
when the JPQL query is manually created (i.e. not from a string)public java.lang.String getIdentifier()
StateObjects
.getIdentifier
in class CompoundExpressionStateObject
protected java.lang.String getLeftQueryBNFId()
getLeftQueryBNFId
in class CompoundExpressionStateObject
protected java.lang.String getRightQueryBNFId()
getRightQueryBNFId
in class CompoundExpressionStateObject
public void setExpression(AndExpression 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
AND
expression