Class NullIfExpressionStateObject
- java.lang.Object
-
- org.eclipse.persistence.jpa.jpql.tools.model.query.AbstractStateObject
-
- org.eclipse.persistence.jpa.jpql.tools.model.query.AbstractEncapsulatedExpressionStateObject
-
- org.eclipse.persistence.jpa.jpql.tools.model.query.AbstractDoubleEncapsulatedExpressionStateObject
-
- org.eclipse.persistence.jpa.jpql.tools.model.query.NullIfExpressionStateObject
-
- All Implemented Interfaces:
StateObject
public class NullIfExpressionStateObject extends AbstractDoubleEncapsulatedExpressionStateObject
NULLIFreturns the first expression if the two expressions are not equal. If the expressions are equal,NULLIFreturns a null value of the type of the first expression.NULLIFis equivalent to a searchedCASEexpression in which the two expressions are equal and the resulting expression isNULL.Returns the same type as the first expression.
BNF:nullif_expression::= NULLIF(scalar_expression, scalar_expression)- Since:
- 2.4
- Version:
- 2.4
- Author:
- Pascal Filion
- See Also:
NullIfExpression
-
-
Field Summary
-
Fields inherited from class org.eclipse.persistence.jpa.jpql.tools.model.query.AbstractDoubleEncapsulatedExpressionStateObject
FIRST_STATE_OBJECT_PROPERTY, SECOND_STATE_OBJECT_PROPERTY
-
-
Constructor Summary
Constructors Constructor Description NullIfExpressionStateObject(StateObject parent)Creates a newNullIfExpressionStateObject.NullIfExpressionStateObject(StateObject parent, String firstJpqlFragment, String secondJpqlFragment)Creates a newNullIfExpressionStateObject.NullIfExpressionStateObject(StateObject parent, StateObject firstStateObject, StateObject secondStateObject)Creates a newNullIfExpressionStateObject.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaccept(StateObjectVisitor visitor)Visits thisStateObjectby the givenvisitor.NullIfExpressiongetExpression()Returns the actual parsed object if thisStateObjectrepresentation of the JPQL query was created by parsing an existing JPQL query.StringgetIdentifier()Returns the JPQL identifier of the expression represented by thisAbstractSingleEncapsulatedExpressionStateObject.voidsetExpression(NullIfExpression expression)Keeps a reference of theparsed objectobject, 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.AbstractDoubleEncapsulatedExpressionStateObject
getFirst, getSecond, hasFirst, hasSecond, isEquivalent, parseFirst, parseSecond, setFirst, setSecond
-
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
-
NullIfExpressionStateObject
public NullIfExpressionStateObject(StateObject parent)
Creates a newNullIfExpressionStateObject.- Parameters:
parent- The parent of this state object, which cannot benull- Throws:
NullPointerException- The given parent cannot benull
-
NullIfExpressionStateObject
public NullIfExpressionStateObject(StateObject parent, StateObject firstStateObject, StateObject secondStateObject)
Creates a newNullIfExpressionStateObject.- Parameters:
parent- The parent of this state object, which cannot benullfirstStateObject- TheStateObjectrepresenting the first expressionsecondStateObject- TheStateObjectrepresenting the second expression- Throws:
NullPointerException- The given parent cannot benull
-
NullIfExpressionStateObject
public NullIfExpressionStateObject(StateObject parent, String firstJpqlFragment, String secondJpqlFragment)
Creates a newNullIfExpressionStateObject.- Parameters:
parent- The parent of this state object, which cannot benullfirstJpqlFragment- The string representation of the first encapsulated expression to parse and to convert into aStateObjectrepresentationsecondJpqlFragment- The string representation of the second encapsulated expression to parse and to convert into aStateObjectrepresentation- Throws:
NullPointerException- The given parent cannot benull
-
-
Method Detail
-
accept
public void accept(StateObjectVisitor visitor)
Visits thisStateObjectby the givenvisitor.- Parameters:
visitor- Thevisitorto visit this object
-
getExpression
public NullIfExpression getExpression()
Returns the actual parsed object if thisStateObjectrepresentation of the JPQL query was created by parsing an existing JPQL query.- Specified by:
getExpressionin interfaceStateObject- Overrides:
getExpressionin classAbstractDoubleEncapsulatedExpressionStateObject- Returns:
- The parsed object when a JPQL query is parsed and converted into a
StateObjectornullwhen the JPQL query is manually created (i.e. not from a string)
-
getIdentifier
public String getIdentifier()
Returns the JPQL identifier of the expression represented by thisAbstractSingleEncapsulatedExpressionStateObject.- Specified by:
getIdentifierin classAbstractEncapsulatedExpressionStateObject- Returns:
- The JPQL identifier that is shown before the left parenthesis
-
setExpression
public void setExpression(NullIfExpression expression)
Keeps a reference of theparsed objectobject, which should only be done when this object is instantiated during the conversion of a parsed JPQL query intoStateObjects.- Parameters:
expression- Theparsed objectrepresenting aNULLIFexpression
-
-