public abstract class AggregateFunctionStateObject extends AbstractSingleEncapsulatedExpressionStateObject
SELECT
clause the result of a query may be the result of an aggregate
function applied to a path expression.
BNF: aggregate_expression ::= {AVG|MAX|MIN|SUM}([DISTINCT] state_field_path_expression) |
COUNT([DISTINCT] identification_variable | state_field_path_expression | single_valued_association_path_expression)
AggregateFunction
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
DISTINCT_PROPERTY
Notifies the visibility of the
DISTINCT identifier has changed. |
STATE_OBJECT_PROPERTY
Modifier and Type | Method and Description |
---|---|
AggregateFunction |
getExpression()
Returns the actual parsed object if this
StateObject representation of the JPQL query
was created by parsing an existing JPQL query. |
boolean |
hasDistinct()
Sets whether the
DISTINCT keyword should be part of the query, which is
used to return only distinct (different) values. |
boolean |
isEquivalent(StateObject stateObject)
Determines whether the given
StateObject is equivalent to this one, i.e. |
void |
setDistinct(boolean distinct)
Sets whether the
DISTINCT keyword should be part of the query, which is
used to return only distinct (different) values |
void |
setStateObject(StateObject stateObject)
Sets the given
StateObject to represent the new encapsulated expression. |
void |
toggleDistinct()
Reverses the visibility of the
DISTINCT identifier. |
getStateObject, hasStateObject, parse
getIdentifier
addPropertyChangeListener, children, decorate, equals, findIdentificationVariable, getDeclaration, getDecorator, getGrammar, getManagedTypeProvider, getParent, getQueryBuilder, getRoot, getType, getType, getTypeHelper, getTypeRepository, hashCode, isDecorated, removePropertyChangeListener, setExpression, setParent, toString, toString, toText
accept
public static final java.lang.String DISTINCT_PROPERTY
DISTINCT
identifier has changed.public AggregateFunction getExpression()
StateObject
representation of the JPQL query
was created by parsing an existing JPQL query.getExpression
in interface StateObject
getExpression
in class AbstractSingleEncapsulatedExpressionStateObject
StateObject
or null
when the JPQL query is manually created (i.e. not from a string)public boolean hasDistinct()
DISTINCT
keyword should be part of the query, which is
used to return only distinct (different) values.true
to add DISTINCT
to the query in order to have
distinct values; false
if it is not requiredpublic 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 AbstractSingleEncapsulatedExpressionStateObject
stateObject
- The StateObject
to compare its content to this onetrue
if both object are equivalent; false
otherwisepublic void setDistinct(boolean distinct)
DISTINCT
keyword should be part of the query, which is
used to return only distinct (different) valuesdistinct
- true
to add DISTINCT
to the query in order to
have distinct values; false
if it is not requiredpublic void setStateObject(StateObject stateObject)
StateObject
to represent the new encapsulated expression.stateObject
- The new encapsulated StateObject
public void toggleDistinct()
DISTINCT
identifier.EclipseLink 2.6.3, "build v20160428-59c81c5" API Reference