|
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.AbstractSelectClauseStateObject
org.eclipse.persistence.jpa.jpql.model.query.SelectClauseStateObject
public class SelectClauseStateObject
The SELECT
statement queries data from entities, which determines the type of
the objects or values to be selected.
BNF: select_clause ::= SELECT [DISTINCT] select_expression {, select_expression}*
select_expression ::= single_valued_path_expression |
aggregate_expression |
identification_variable |
OBJECT(identification_variable) |
constructor_expression
SelectStatementStateObject
,
SelectClause
Field Summary | |
---|---|
static java.lang.String |
SELECT_ITEMS_LIST
A constant used to notify the list of select expressions has changed. |
Fields inherited from class org.eclipse.persistence.jpa.jpql.model.query.AbstractSelectClauseStateObject |
---|
DISTINCT_PROPERTY |
Constructor Summary | |
---|---|
SelectClauseStateObject(SelectStatementStateObject parent)
Creates a new SelectClauseStateObject . |
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. |
|
ResultVariableStateObject |
addItem(StateObject stateObject,
java.lang.String resultVariable)
Adds the given StateObject as a select item. |
|
StateObject |
addItem(java.lang.String jpqlFragment)
Adds the given path as a select item, which can either be an identification variable or a state-field path expression. |
|
ResultVariableStateObject |
addItem(java.lang.String jpqlFragment,
java.lang.String resultVariable)
Adds the given expression as a select item. |
|
ResultVariableStateObject |
addItemAs(StateObject stateObject,
java.lang.String resultVariable)
Adds the given StateObject as a select item. |
|
ResultVariableStateObject |
addItemAs(java.lang.String jpqlFragment,
java.lang.String resultVariable)
Adds the given JPQL fragment as a select item. |
|
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(SelectClauseStateObject 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. |
|
ISelectExpressionStateObjectBuilder |
getBuilder()
Creates and returns a new ISelectExpressionStateObjectBuilder that can be used to
programmatically create a single select expression and once the expression is complete,
ISelectExpressionStateObjectBuilder.commit() will push the StateObject
representation of that expression as this clause's select expression. |
|
SelectClause |
getExpression()
Returns the actual parsed object if this StateObject representation of the JPQL query
was created by parsing an existing JPQL query. |
|
FromClauseStateObject |
getFromClause()
Returns the AbstractFromClauseStateObject representing the FROM clause. |
|
StateObject |
getItem(int index)
Returns the StateObject at the given positions from the list |
|
SelectStatementStateObject |
getParent()
Returns the parent of this StateObject . |
|
boolean |
hasItems()
Determines whether this StateObject has any children. |
|
boolean |
hasSelectItem()
Determines whether this SELECT clause has a select item defined (only one
can be set for a subquery's SELECT clause and many for a top-level query). |
|
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 |
parse(java.lang.String jpqlFragment)
Parses the given JPQL fragment and create the select item. |
|
void |
removeItem(StateObject stateObject)
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(SelectClause 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 . |
|
void |
setItems(java.util.List<StateObject> stateObjects)
Sets the select expression to be those contained on the given collection. |
|
protected void |
toTextInternal(java.lang.Appendable writer)
Prints out a string representation of this StateObject , 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.AbstractSelectClauseStateObject |
---|
hasDistinct, setDistinct, toggleDistinct |
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, 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, getQueryBuilder, getRoot, isDecorated, removePropertyChangeListener, setParent, toString, toText |
Field Detail |
---|
public static final java.lang.String SELECT_ITEMS_LIST
Constructor Detail |
---|
public SelectClauseStateObject(SelectStatementStateObject parent)
SelectClauseStateObject
.
parent
- The parent of this state object, which cannot be null
java.lang.NullPointerException
- The given parent cannot be null
Method Detail |
---|
public void accept(StateObjectVisitor visitor)
StateObject
by the given visitor
.
accept
in interface StateObject
visitor
- The visitor
to visit this objectprotected void addChildren(java.util.List<StateObject> children)
StateObject
to the given list.
addChildren
in class AbstractStateObject
children
- The list used to store the childrenpublic ResultVariableStateObject addItem(StateObject stateObject, java.lang.String resultVariable)
StateObject
as a select item.
stateObject
- The StateObject
representing the select expressionresultVariable
- The result variable identifying the select expression
ResultVariableStateObject
public StateObject addItem(java.lang.String jpqlFragment)
jpqlFragment
- The select expression to parse as a select item
StateObject
encapsulating the given pathpublic ResultVariableStateObject addItem(java.lang.String jpqlFragment, java.lang.String resultVariable)
jpqlFragment
- The select expression to parse as a select itemresultVariable
- The result variable identifying the select expression
ResultVariableStateObject
public <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 ResultVariableStateObject addItemAs(StateObject stateObject, java.lang.String resultVariable)
StateObject
as a select item.
stateObject
- The StateObject
representing the select expressionresultVariable
- The result variable identifying the select expression
ResultVariableStateObject
public ResultVariableStateObject addItemAs(java.lang.String jpqlFragment, java.lang.String resultVariable)
jpqlFragment
- The portion of a JPQL query that represents a select expressionresultVariable
- The result variable identifying the select expression
ResultVariableStateObject
public 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 changesprotected boolean areChildrenEquivalent(SelectClauseStateObject 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 ISelectExpressionStateObjectBuilder getBuilder()
ISelectExpressionStateObjectBuilder
that can be used to
programmatically create a single select expression and once the expression is complete,
ISelectExpressionStateObjectBuilder.commit()
will push the StateObject
representation of that expression as this clause's select expression.
public SelectClause getExpression()
StateObject
representation of the JPQL query
was created by parsing an existing JPQL query.
getExpression
in interface StateObject
getExpression
in class AbstractSelectClauseStateObject
StateObject
or null
when the JPQL query is manually created (i.e. not from a string)public FromClauseStateObject getFromClause()
AbstractFromClauseStateObject
representing the FROM clause.
getFromClause
in class AbstractSelectClauseStateObject
public 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 SelectStatementStateObject getParent()
StateObject
.
getParent
in interface StateObject
getParent
in class AbstractSelectClauseStateObject
StateObject
, which is null
only when
this is the root of the hierarchypublic boolean hasItems()
StateObject
has any children.
hasItems
in interface ListHolderStateObject<StateObject>
true
if this StateObject
has children; false
otherwisepublic boolean hasSelectItem()
SELECT
clause has a select item defined (only one
can be set for a subquery's SELECT
clause and many for a top-level query).
hasSelectItem
in class AbstractSelectClauseStateObject
true
if this state object has children; false
otherwiseprotected void initialize()
initialize
in class AbstractStateObject
public boolean isEquivalent(StateObject stateObject)
StateObject
is equivalent to this one, i.e. the
information of both StateObject
is the same.
isEquivalent
in interface StateObject
isEquivalent
in class AbstractSelectClauseStateObject
stateObject
- 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 parse(java.lang.String jpqlFragment)
parse
in class AbstractSelectClauseStateObject
jpqlFragment
- The portion of the query representing one or several select itemspublic void removeItem(StateObject stateObject)
StateObject
from the list of children.
removeItem
in interface ListHolderStateObject<StateObject>
stateObject
- 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(SelectClause 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 SELECT
clausepublic void setItems(java.util.List<StateObject> stateObjects)
stateObjects
- The new select expressionsprotected void toTextInternal(java.lang.Appendable writer) throws java.io.IOException
StateObject
, which should not be used to
define a true
string representation of a JPQL query but should be used for
debugging purposes.
toTextInternal
in class AbstractStateObject
writer
- The writer used to print out the string representation
java.io.IOException
- This should never happens, it is only required because Appendable
is used instead of any concrete class
|
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 |