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)NullIfExpressionFIRST_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, toTextEncapsulatedExpressiontoTextInternalacceptUnknownVisitor, 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 NullIfExpressionStateObject(StateObject parent)
NullIfExpressionStateObject.parent - The parent of this state object, which cannot be nulljava.lang.NullPointerException - The given parent cannot be nullpublic NullIfExpressionStateObject(StateObject parent, StateObject firstStateObject, StateObject secondStateObject)
NullIfExpressionStateObject.parent - The parent of this state object, which cannot be nullfirstStateObject - The StateObject representing the first expressionsecondStateObject - The StateObject representing the second expressionjava.lang.NullPointerException - The given parent cannot be nullpublic NullIfExpressionStateObject(StateObject parent, java.lang.String firstJpqlFragment, java.lang.String secondJpqlFragment)
NullIfExpressionStateObject.parent - The parent of this state object, which cannot be nullfirstJpqlFragment - 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 nullpublic 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 StateObjectgetExpression in class AbstractDoubleEncapsulatedExpressionStateObjectStateObject
or null when the JPQL query is manually created (i.e. not from a string)protected java.lang.String getFirstQueryBNFId()
getFirstQueryBNFId in class AbstractDoubleEncapsulatedExpressionStateObjectpublic java.lang.String getIdentifier()
AbstractSingleEncapsulatedExpressionStateObject.getIdentifier in class AbstractEncapsulatedExpressionStateObjectprotected java.lang.String getSecondQueryBNFId()
getSecondQueryBNFId in class AbstractDoubleEncapsulatedExpressionStateObjectpublic 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