public class CoalesceExpressionStateObject extends AbstractEncapsulatedExpressionStateObject implements ListHolderStateObject<StateObject>
COALESCE expression returns null if all its arguments evaluate
to null, and the value of the first non-null argument otherwise.
The return type is the type returned by the arguments if they are all of the same type, otherwise it is undetermined.
coalesce_expression::= COALESCE(scalar_expression {, scalar_expression}+)CoalesceExpression| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
STATE_OBJECTS_LIST
Notifies the content of the state object list has changed.
|
| Constructor and Description |
|---|
CoalesceExpressionStateObject(StateObject parent)
Creates a new
CoalesceExpressionStateObject. |
CoalesceExpressionStateObject(StateObject parent,
java.util.List<StateObject> items)
Creates a new
CoalesceExpressionStateObject. |
CoalesceExpressionStateObject(StateObject parent,
StateObject... items)
Creates a new
CoalesceExpressionStateObject. |
CoalesceExpressionStateObject(StateObject parent,
java.lang.String... items)
Creates a new
CoalesceExpressionStateObject. |
| Modifier and Type | Method and Description |
|---|---|
void |
accept(StateObjectVisitor visitor)
Visits this
StateObject by the given visitor. |
<S extends StateObject> |
addItem(S item)
Adds the given
StateObject as a child of this one. |
void |
addItems(java.util.List<? extends StateObject> items)
Adds the given list of
StateObjects as children of this one. |
void |
addListChangeListener(java.lang.String listName,
IListChangeListener<StateObject> listener)
Registers the given
IListChangeListener for the specified list. |
boolean |
canMoveDown(StateObject item)
Determines whether the given
StateObject can be moved down by one position in the
list owned by its parent. |
boolean |
canMoveUp(StateObject item)
Determines whether the given
StateObject can be moved up by one position in the list
owned by its parent. |
CoalesceExpression |
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 JPQL identifier of the expression represented by this
AbstractSingleEncapsulatedExpressionStateObject. |
StateObject |
getItem(int index)
Returns the
StateObject at the given positions from the list |
boolean |
hasItems()
Determines whether this
StateObject has any children. |
boolean |
isEquivalent(StateObject stateObject)
Determines whether the given
StateObject is equivalent to this one, i.e. |
ListIterable<StateObject> |
items()
Returns an
ListIterable over the children. |
int |
itemsSize()
Returns the number of children this list holder has.
|
StateObject |
moveDown(StateObject item)
Moves the given
StateObject down by one position in the list owned by its parent. |
StateObject |
moveUp(StateObject item)
Moves the given
StateObject up by one position in the list owned by its parent. |
void |
parseItem(java.lang.String jpqlFragment)
Parses the given JPQL fragment, which represents a single encapsulated expression, and creates
the
StateObject. |
void |
parseItems(java.util.ListIterator<java.lang.String> items)
Parses the given JPQL fragments, which represent individual expression, and creates the
StateObjects. |
void |
parseItems(java.lang.String... items)
Parses the given JPQL fragments, which represent individual expression, and creates the
StateObjects. |
void |
removeItem(StateObject item)
Removes the given
StateObject from the list of children. |
void |
removeItems(java.util.Collection<StateObject> items)
Removes the given
StateObject from the list of children. |
void |
removeListChangeListener(java.lang.String listName,
IListChangeListener<StateObject> listener)
Unregisters the given
IListChangeListener that was registered for the specified list. |
void |
setExpression(CoalesceExpression 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. |
addPropertyChangeListener, children, decorate, equals, findIdentificationVariable, getDeclaration, getDecorator, getGrammar, getManagedTypeProvider, getParent, getQueryBuilder, getRoot, getType, getType, getTypeHelper, getTypeRepository, hashCode, isDecorated, removePropertyChangeListener, setExpression, setParent, toString, toString, toTextaddPropertyChangeListener, children, decorate, findIdentificationVariable, getDeclaration, getDecorator, getGrammar, getManagedTypeProvider, getParent, getQueryBuilder, getRoot, isDecorated, removePropertyChangeListener, setParent, toString, toTextpublic static final java.lang.String STATE_OBJECTS_LIST
public CoalesceExpressionStateObject(StateObject parent)
CoalesceExpressionStateObject.parent - The parent of this state object, which cannot be nulljava.lang.NullPointerException - The given parent cannot be nullpublic CoalesceExpressionStateObject(StateObject parent, java.util.List<StateObject> items)
CoalesceExpressionStateObject.parent - The parent of this state object, which cannot be nullitems - The list of StateObjects representing the encapsulated
expressionsjava.lang.NullPointerException - The given parent cannot be nullpublic CoalesceExpressionStateObject(StateObject parent, StateObject... items)
CoalesceExpressionStateObject.parent - The parent of this state object, which cannot be nullitems - The list of StateObjects representing the encapsulated
expressionsjava.lang.NullPointerException - The given parent cannot be nullpublic CoalesceExpressionStateObject(StateObject parent, java.lang.String... items)
CoalesceExpressionStateObject.parent - The parent of this state object, which cannot be nullitems - The list of expression to parse into their StateObjectjava.lang.NullPointerException - The given parent cannot be nullpublic void accept(StateObjectVisitor visitor)
StateObject by the given visitor.accept in interface StateObjectvisitor - The visitor to visit this objectpublic <S extends StateObject> S addItem(S item)
StateObject as a child of this one.addItem in interface ListHolderStateObject<StateObject>item - The child StateObject to become a child of this one
return The given itempublic void addItems(java.util.List<? extends StateObject> items)
StateObjects as children of this one.addItems in interface ListHolderStateObject<StateObject>items - The StateObjects to become children of this onepublic void addListChangeListener(java.lang.String listName,
IListChangeListener<StateObject> listener)
IListChangeListener for the specified list. The listener will be
notified only when items are added, removed, moved from the list.addListChangeListener in interface ListHolderStateObject<StateObject>listName - The name of the list for which the listener will be notified when the content
of the list has changedlistener - The listener to be notified upon changespublic boolean canMoveDown(StateObject item)
StateObject can be moved down by one position in the
list owned by its parent.canMoveDown in interface ListHolderStateObject<StateObject>item - The StateObject that could potentially be moved downtrue if the object can be moved down by one unit; false
otherwisepublic boolean canMoveUp(StateObject item)
StateObject can be moved up by one position in the list
owned by its parent.canMoveUp in interface ListHolderStateObject<StateObject>item - The StateObject that could potentially be moved uptrue if the object can be moved up by one unit; false
otherwisepublic CoalesceExpression getExpression()
StateObject representation of the JPQL query
was created by parsing an existing JPQL query.getExpression in interface StateObjectgetExpression in class AbstractEncapsulatedExpressionStateObjectStateObject
or null when the JPQL query is manually created (i.e. not from a string)public java.lang.String getIdentifier()
AbstractSingleEncapsulatedExpressionStateObject.getIdentifier in class AbstractEncapsulatedExpressionStateObjectpublic StateObject getItem(int index)
StateObject at the given positions from the listgetItem in interface ListHolderStateObject<StateObject>index - The position of the StateObject to retrieveStateObject at the given positionpublic boolean hasItems()
StateObject has any children.hasItems in interface ListHolderStateObject<StateObject>true if this StateObject has children; false otherwisepublic boolean isEquivalent(StateObject stateObject)
StateObject is equivalent to this one, i.e. the
information of both StateObject is the same.isEquivalent in interface StateObjectisEquivalent in class AbstractStateObjectstateObject - The StateObject to compare its content to this onetrue if both object are equivalent; false otherwisepublic ListIterable<StateObject> items()
ListIterable over the children.items in interface ListHolderStateObject<StateObject>ListIterable that is iterating over the childrenpublic int itemsSize()
itemsSize in interface ListHolderStateObject<StateObject>StateObjects that are children of this onepublic StateObject moveDown(StateObject item)
StateObject down by one position in the list owned by its parent.moveDown in interface ListHolderStateObject<StateObject>item - The StateObject to move down in the listpublic StateObject moveUp(StateObject item)
StateObject up by one position in the list owned by its parent.moveUp in interface ListHolderStateObject<StateObject>item - The StateObject to move up in the listpublic void parseItem(java.lang.String jpqlFragment)
StateObject.jpqlFragment - The portion of the query representing a single encapsulated expressionpublic void parseItems(java.util.ListIterator<java.lang.String> items)
StateObjects.items - The portion of the query representing a single encapsulated expressionpublic void parseItems(java.lang.String... items)
StateObjects.items - The portion of the query representing a single encapsulated expressionpublic void removeItem(StateObject item)
StateObject from the list of children.removeItem in interface ListHolderStateObject<StateObject>item - The child StateObject to not longer be a childpublic void removeItems(java.util.Collection<StateObject> items)
StateObject from the list of children.removeItems in interface ListHolderStateObject<StateObject>items - The StateObjects to remove from this onepublic void removeListChangeListener(java.lang.String listName,
IListChangeListener<StateObject> listener)
IListChangeListener that was registered for the specified list.
The listener will no longer be notified only when items are added, removed, moved from the
list.removeListChangeListener in interface ListHolderStateObject<StateObject>listName - The name of the list for which the listener was registeredlistener - The listener to unregisterpublic void setExpression(CoalesceExpression 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 CASE
expressionEclipseLink 2.6.3, "build v20160428-59c81c5" API Reference