|
EclipseLink 2.4.2, build 'v20130514-5956486' API Reference | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.eclipse.persistence.jpa.jpql.model.query.AbstractStateObject
org.eclipse.persistence.jpa.jpql.model.query.AbstractEncapsulatedExpressionStateObject
org.eclipse.persistence.jpa.jpql.model.query.CoalesceExpressionStateObject
public class CoalesceExpressionStateObject
A 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| Field Summary | |
|---|---|
static java.lang.String |
STATE_OBJECTS_LIST
Notifies the content of the state object list has changed. |
| Constructor Summary | |
|---|---|
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. |
|
| Method Summary | ||
|---|---|---|
void |
accept(StateObjectVisitor visitor)
Visits this StateObject by the given visitor. |
|
protected void |
addChildren(java.util.List<StateObject> children)
Adds the children of this StateObject to the given list. |
|
|
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. |
|
protected boolean |
areChildrenEquivalent(CoalesceExpressionStateObject stateObject)
Determines whether the children of this StateObject are equivalent to the children
of the given one, i.e. the information of the StateObjects is the same. |
|
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. |
|
protected void |
initialize()
Initializes this state object. |
|
boolean |
isEquivalent(StateObject stateObject)
Determines whether the given StateObject is equivalent to this one, i.e. the
information of both StateObject is the same. |
|
IterableListIterator<StateObject> |
items()
Returns an IterableListIterator 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. |
|
protected void |
parseItemInternal(java.lang.String... items)
Parses the given list of JPQL fragments, which represents each of the encapsulated expressions, and creates the StateObjects. |
|
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. |
|
protected void |
toTextEncapsulatedExpression(java.lang.Appendable writer)
Prints out a string representation of this encapsulated information, which should not be used to define a true string representation of a JPQL query but should be used for
debugging purposes. |
|
| Methods inherited from class org.eclipse.persistence.jpa.jpql.model.query.AbstractEncapsulatedExpressionStateObject |
|---|
toTextInternal |
| Methods inherited from class org.eclipse.persistence.jpa.jpql.model.query.AbstractStateObject |
|---|
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, isDecorated, parent, parent, parent, removePropertyChangeListener, setExpression, setParent, toString, toString, toStringInternal, toStringItems, toText |
| Methods inherited from class java.lang.Object |
|---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface org.eclipse.persistence.jpa.jpql.model.query.StateObject |
|---|
addPropertyChangeListener, children, decorate, findIdentificationVariable, getDeclaration, getDecorator, getGrammar, getManagedTypeProvider, getParent, getQueryBuilder, getRoot, isDecorated, removePropertyChangeListener, setParent, toString, toText |
| Field Detail |
|---|
public static final java.lang.String STATE_OBJECTS_LIST
| Constructor Detail |
|---|
public CoalesceExpressionStateObject(StateObject parent)
CoalesceExpressionStateObject.
parent - The parent of this state object, which cannot be null
java.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
expressions
java.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
expressions
java.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 StateObject
java.lang.NullPointerException - The given parent cannot be null| Method Detail |
|---|
public void accept(StateObjectVisitor visitor)
StateObject by the given visitor.
accept in interface StateObjectvisitor - The visitor to visit this objectprotected void addChildren(java.util.List<StateObject> children)
StateObject to the given list.
addChildren in class AbstractStateObjectchildren - The list used to store the childrenpublic <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 one
public 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 changesprotected boolean areChildrenEquivalent(CoalesceExpressionStateObject stateObject)
StateObject are equivalent to the children
of the given one, i.e. the information of the StateObjects is the same.
stateObject - The StateObject to compare its children to this one's children
true if both have equivalent children; false otherwisepublic 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 down
true 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 up
true 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 list
getItem in interface ListHolderStateObject<StateObject>index - The position of the StateObject to retrieve
StateObject at the given positionpublic boolean hasItems()
StateObject has any children.
hasItems in interface ListHolderStateObject<StateObject>true if this StateObject has children; false otherwiseprotected void initialize()
initialize in class AbstractStateObjectpublic 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 one
true if both object are equivalent; false otherwisepublic IterableListIterator<StateObject> items()
IterableListIterator over the children.
items in interface ListHolderStateObject<StateObject>IterableListIterator 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 list
public 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 list
public void parseItem(java.lang.String jpqlFragment)
StateObject.
jpqlFragment - The portion of the query representing a single encapsulated expressionprotected void parseItemInternal(java.lang.String... items)
StateObjects.
items - The list of expression to parse into their StateObjectpublic 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 one
public 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
expression
protected void toTextEncapsulatedExpression(java.lang.Appendable writer)
throws java.io.IOException
true string representation of a JPQL query but should be used for
debugging purposes.
toTextEncapsulatedExpression in class AbstractEncapsulatedExpressionStateObjectwriter - The writer used to print out the string representation of the encapsulated
information
java.io.IOException - This should never happens, only required because Appendable is
used instead of StringBuilder for instance
|
EclipseLink 2.4.2, build 'v20130514-5956486' API Reference | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||