public abstract class AbstractSelectStatementStateObject extends AbstractStateObject
SELECT
clause and a FROM
clause.SelectStatementStateObject
,
FromClauseStateObject
,
GroupByClauseStateObject
,
HavingClauseStateObject
,
SelectClauseStateObject
,
WhereClauseStateObject
,
AbstractSelectStatement
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
GROUP_BY_CLAUSE_PROPERTY
Notify the state object representing the
GROUP BY clause has changed. |
static java.lang.String |
HAVING_CLAUSE_PROPERTY
Notify the state object representing the
HAVING clause has changed. |
static java.lang.String |
WHERE_CLAUSE_PROPERTY
Notify the state object representing the
WHERE clause has changed. |
Modifier and Type | Method and Description |
---|---|
CollectionMemberDeclarationStateObject |
addCollectionDeclaration()
Adds a new collection declaration to the
FROM clause. |
CollectionMemberDeclarationStateObject |
addCollectionDeclaration(java.lang.String collectionValuedPath,
java.lang.String identificationVariable)
Adds a new collection declaration to the
FROM clause. |
GroupByClauseStateObject |
addGroupByClause()
Adds the
GROUP BY clause. |
GroupByClauseStateObject |
addGroupByClause(java.lang.String jpqlFragment)
Adds the
GROUP BY clause and parses the given JPQL fragment. |
HavingClauseStateObject |
addHavingClause()
Adds the
HAVING clause. |
HavingClauseStateObject |
addHavingClause(java.lang.String jpqlFragment)
Adds the
HAVING clause and parses the given JPQL fragment. |
IdentificationVariableDeclarationStateObject |
addRangeDeclaration()
Adds a new range variable declaration to the
FROM clause. |
IdentificationVariableDeclarationStateObject |
addRangeDeclaration(IEntity entity,
java.lang.String identificationVariable)
Adds to this select statement a new range variable declaration.
|
IdentificationVariableDeclarationStateObject |
addRangeDeclaration(java.lang.String entityName,
java.lang.String identificationVariable)
Adds to this select statement a new range variable declaration.
|
WhereClauseStateObject |
addWhereClause()
Adds the
WHERE clause. |
WhereClauseStateObject |
addWhereClause(java.lang.String jpqlFragment)
Adds the
WHERE clause and parses the given JPQL fragment. |
ListIterable<? extends VariableDeclarationStateObject> |
declarations()
Returns the list of
VariableDeclarationStateObject defining the variable declarations,
which are mapping an entity to a variable or a collection-valued member to a variable. |
IdentificationVariableStateObject |
findIdentificationVariable(java.lang.String identificationVariable)
Returns the
IdentificationVariableStateObject representing the given identification
variable. |
DeclarationStateObject |
getDeclaration()
Returns the declaration clause which defines the domain of the query by declaring
identification variables.
|
AbstractSelectStatement |
getExpression()
Returns the actual parsed object if this
StateObject representation of the JPQL query
was created by parsing an existing JPQL query. |
AbstractFromClauseStateObject |
getFromClause()
Returns the state object representing the
FROM clause. |
GroupByClauseStateObject |
getGroupByClause()
Returns the state object representing the
GROUP BY clause. |
HavingClauseStateObject |
getHavingClause()
Returns the state object representing the
HAVING clause. |
AbstractSelectClauseStateObject |
getSelectClause()
Returns the state object representing the
SELECT clause. |
WhereClauseStateObject |
getWhereClause()
Returns the state object representing the
WHERE clause. |
boolean |
hasGroupByClause()
Returns the state object representing the
GROUP BY clause. |
boolean |
hasHavingClause()
Returns the state object representing the
HAVING clause. |
boolean |
hasWhereClause()
Returns the state object representing the
WHERE clause. |
java.lang.Iterable<IdentificationVariableStateObject> |
identificationVariables()
Returns the
IdentificationVariableStateObjects
holding onto the identification variables, which are the variables defined in the
FROM clause. |
boolean |
isEquivalent(StateObject stateObject)
Determines whether the given
StateObject is equivalent to this one, i.e. |
void |
parseSelect(java.lang.String jpqlFragment)
Parses the given JPQL fragment and create the select item.
|
void |
removeGroupByClause()
Removes the
GROUP BY clause. |
void |
removeHavingClause()
Removes the
HAVING clause. |
void |
removeWhereClause()
Removes the
WHERE clause. |
void |
toggleGroupByClause()
Either adds or removes the state object representing the
GROUP BY clause. |
void |
toggleHavingClause()
Either adds or removes the state object representing the
HAVING clause. |
void |
toggleWhereClause()
Either adds or removes the state object representing the
WHERE clause. |
addPropertyChangeListener, children, decorate, equals, getDecorator, getGrammar, getManagedTypeProvider, getParent, getQueryBuilder, getRoot, getType, getType, getTypeHelper, getTypeRepository, hashCode, isDecorated, removePropertyChangeListener, setExpression, setParent, toString, toString, toText
accept
public static java.lang.String GROUP_BY_CLAUSE_PROPERTY
GROUP BY
clause has changed.public static java.lang.String HAVING_CLAUSE_PROPERTY
HAVING
clause has changed.public static java.lang.String WHERE_CLAUSE_PROPERTY
WHERE
clause has changed.public CollectionMemberDeclarationStateObject addCollectionDeclaration()
FROM
clause.CollectionMemberDeclarationStateObject
representing the collection
declarationpublic CollectionMemberDeclarationStateObject addCollectionDeclaration(java.lang.String collectionValuedPath, java.lang.String identificationVariable)
FROM
clause.collectionValuedPath
- The collection-valued path expressionidentificationVariable
- The variable defining the collection-valued path expressionCollectionMemberDeclarationStateObject
representing the collection
declarationpublic GroupByClauseStateObject addGroupByClause()
GROUP BY
clause. The clause is not added if it's already present.GroupByClauseStateObject
public GroupByClauseStateObject addGroupByClause(java.lang.String jpqlFragment)
GROUP BY
clause and parses the given JPQL fragment. The clause is
not added if it's already present.jpqlFragment
- The fragment of the JPQL to parse that represents the group by items, the
fragment cannot start with GROUP BY
GroupByClauseStateObject
public HavingClauseStateObject addHavingClause()
HAVING
clause. The clause is not added if it's already present.GroupByClauseStateObject
public HavingClauseStateObject addHavingClause(java.lang.String jpqlFragment)
HAVING
clause and parses the given JPQL fragment. The clause is
not added if it's already present.jpqlFragment
- The fragment of the JPQL to parse that represents the conditional expression,
the fragment cannot start with HAVING
HavingClauseStateObject
public IdentificationVariableDeclarationStateObject addRangeDeclaration()
FROM
clause.StateObject
representing the new range variable declarationpublic IdentificationVariableDeclarationStateObject addRangeDeclaration(IEntity entity, java.lang.String identificationVariable)
entity
- The external form of the entity to add to the declaration listidentificationVariable
- The unique identifier identifying the given IEntity
StateObject
representing the new range variable declarationpublic IdentificationVariableDeclarationStateObject addRangeDeclaration(java.lang.String entityName, java.lang.String identificationVariable)
entityName
- The name of the entityidentificationVariable
- The unique identifier identifying the entityStateObject
representing the range variable declarationpublic WhereClauseStateObject addWhereClause()
WHERE
clause. The clause is not added if it's already present.GroupByClauseStateObject
public WhereClauseStateObject addWhereClause(java.lang.String jpqlFragment)
WHERE
clause and parses the given JPQL fragment. The clause is
not added if it's already present.jpqlFragment
- The fragment of the JPQL to parse that represents the conditional expression,
the fragment cannot start with WHERE
WhereClauseStateObject
public ListIterable<? extends VariableDeclarationStateObject> declarations()
VariableDeclarationStateObject
defining the variable declarations,
which are mapping an entity to a variable or a collection-valued member to a variable.
Example:
Employee e
IN (e.employees) AS emps
VariableDeclarationStateObject
public IdentificationVariableStateObject findIdentificationVariable(java.lang.String identificationVariable)
IdentificationVariableStateObject
representing the given identification
variable.findIdentificationVariable
in interface StateObject
findIdentificationVariable
in class AbstractStateObject
identificationVariable
- The name of the identification variable to retrieve its state objectIdentificationVariableStateObject
defining the given identification variablepublic DeclarationStateObject getDeclaration()
getDeclaration
in interface StateObject
getDeclaration
in class AbstractStateObject
StateObject
is a child; i.e. either the
top-level declaration if this is part of the top query or the sub-level declaration if this is
part of a subquerypublic AbstractSelectStatement getExpression()
StateObject
representation of the JPQL query
was created by parsing an existing JPQL query.getExpression
in interface StateObject
getExpression
in class AbstractStateObject
StateObject
or null
when the JPQL query is manually created (i.e. not from a string)public AbstractFromClauseStateObject getFromClause()
FROM
clause.FROM
clause, which is never
null
public GroupByClauseStateObject getGroupByClause()
GROUP BY
clause.GROUP BY
clause or
null
if it's not presentpublic HavingClauseStateObject getHavingClause()
HAVING
clause.HAVING
clause or
null
if it's not presentpublic AbstractSelectClauseStateObject getSelectClause()
SELECT
clause.SELECT
clause,
which is never null
public WhereClauseStateObject getWhereClause()
WHERE
clause.WHERE
clause or
the null
state object since null
is never returnedpublic boolean hasGroupByClause()
GROUP BY
clause.GROUP BY
clause or
null
if it's not presentpublic boolean hasHavingClause()
HAVING
clause.HAVING
clause or
null
if it's not presentpublic boolean hasWhereClause()
WHERE
clause.WHERE
clause or
null
if it's not presentpublic java.lang.Iterable<IdentificationVariableStateObject> identificationVariables()
IdentificationVariableStateObjects
holding onto the identification variables, which are the variables defined in the
FROM
clause.
Example:
Employee e
; e is returnedIN (e.employees) AS emps
; emps is returnedManager m JOIN m.employees emps
; m and emps are returnedIdentificationVariableStateObjects
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 AbstractStateObject
stateObject
- The StateObject
to compare its content to this onetrue
if both object are equivalent; false
otherwisepublic void parseSelect(java.lang.String jpqlFragment)
jpqlFragment
- The portion of the query representing one or several select itemspublic void removeGroupByClause()
GROUP BY
clause.public void removeHavingClause()
HAVING
clause.public void removeWhereClause()
WHERE
clause.public void toggleGroupByClause()
GROUP BY
clause.public void toggleHavingClause()
HAVING
clause.public void toggleWhereClause()
WHERE
clause.EclipseLink 2.6.3, "build v20160428-59c81c5" API Reference