public class NullIfExpressionStateObject extends AbstractDoubleEncapsulatedExpressionStateObject
NULLIF
returns the first expression if the two expressions are not equal. If
the expressions are equal, NULLIF
returns a null value of the type of the
first expression.
NULLIF
is equivalent to a searched CASE
expression in
which the two expressions are equal and the resulting expression is NULL
.
Returns the same type as the first expression.
nullif_expression::= NULLIF(scalar_expression, scalar_expression)
NullIfExpression
FIRST_STATE_OBJECT_PROPERTY, SECOND_STATE_OBJECT_PROPERTY
Constructor and Description |
---|
NullIfExpressionStateObject(StateObject parent)
Creates a new
NullIfExpressionStateObject . |
NullIfExpressionStateObject(StateObject parent,
StateObject firstStateObject,
StateObject secondStateObject)
Creates a new
NullIfExpressionStateObject . |
NullIfExpressionStateObject(StateObject parent,
java.lang.String firstJpqlFragment,
java.lang.String secondJpqlFragment)
Creates a new
NullIfExpressionStateObject . |
Modifier and Type | Method and Description |
---|---|
void |
accept(StateObjectVisitor visitor)
Visits this
StateObject by the given visitor . |
NullIfExpression |
getExpression()
Returns the actual parsed object if this
StateObject representation of the JPQL query
was created by parsing an existing JPQL query. |
protected java.lang.String |
getFirstQueryBNFId()
Returns the unique identifier of the BNF that will be used to parse a JPQL fragment as the
first encapsulated expression.
|
java.lang.String |
getIdentifier()
Returns the JPQL identifier of the expression represented by this
AbstractSingleEncapsulatedExpressionStateObject . |
protected java.lang.String |
getSecondQueryBNFId()
Returns the unique identifier of the BNF that will be used to parse a JPQL fragment as the
second encapsulated expression.
|
void |
setExpression(NullIfExpression 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, getFirst, getSecond, hasFirst, hasSecond, isEquivalent, parseFirst, parseSecond, setFirst, setSecond, toTextEncapsulatedExpression
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 NullIfExpressionStateObject(StateObject parent)
NullIfExpressionStateObject
.parent
- The parent of this state object, which cannot be null
java.lang.NullPointerException
- The given parent cannot be null
public NullIfExpressionStateObject(StateObject parent, StateObject firstStateObject, StateObject secondStateObject)
NullIfExpressionStateObject
.parent
- The parent of this state object, which cannot be null
firstStateObject
- The StateObject
representing the first expressionsecondStateObject
- The StateObject
representing the second expressionjava.lang.NullPointerException
- The given parent cannot be null
public NullIfExpressionStateObject(StateObject parent, java.lang.String firstJpqlFragment, java.lang.String secondJpqlFragment)
NullIfExpressionStateObject
.parent
- The parent of this state object, which cannot be null
firstJpqlFragment
- The string representation of the first encapsulated expression to
parse and to convert into a StateObject
representationsecondJpqlFragment
- The string representation of the second encapsulated expression to
parse and to convert into a StateObject
representationjava.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 NullIfExpression getExpression()
StateObject
representation of the JPQL query
was created by parsing an existing JPQL query.getExpression
in interface StateObject
getExpression
in class AbstractDoubleEncapsulatedExpressionStateObject
StateObject
or null
when the JPQL query is manually created (i.e. not from a string)protected java.lang.String getFirstQueryBNFId()
getFirstQueryBNFId
in class AbstractDoubleEncapsulatedExpressionStateObject
public java.lang.String getIdentifier()
AbstractSingleEncapsulatedExpressionStateObject
.getIdentifier
in class AbstractEncapsulatedExpressionStateObject
protected java.lang.String getSecondQueryBNFId()
getSecondQueryBNFId
in class AbstractDoubleEncapsulatedExpressionStateObject
public void setExpression(NullIfExpression 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 NULLIF
expression