Class AggregateFunctionStateObject
- java.lang.Object
-
- org.eclipse.persistence.jpa.jpql.tools.model.query.AbstractStateObject
-
- org.eclipse.persistence.jpa.jpql.tools.model.query.AbstractEncapsulatedExpressionStateObject
-
- org.eclipse.persistence.jpa.jpql.tools.model.query.AbstractSingleEncapsulatedExpressionStateObject
-
- org.eclipse.persistence.jpa.jpql.tools.model.query.AggregateFunctionStateObject
-
- All Implemented Interfaces:
StateObject
- Direct Known Subclasses:
AvgFunctionStateObject
,CountFunctionStateObject
,MaxFunctionStateObject
,MinFunctionStateObject
,SumFunctionStateObject
public abstract class AggregateFunctionStateObject extends AbstractSingleEncapsulatedExpressionStateObject
In theSELECT
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)
- Since:
- 2.4
- Version:
- 2.4
- Author:
- Pascal Filion
- See Also:
AggregateFunction
-
-
Field Summary
Fields Modifier and Type Field Description static String
DISTINCT_PROPERTY
Notifies the visibility of theDISTINCT
identifier has changed.-
Fields inherited from class org.eclipse.persistence.jpa.jpql.tools.model.query.AbstractSingleEncapsulatedExpressionStateObject
STATE_OBJECT_PROPERTY
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description AggregateFunction
getExpression()
Returns the actual parsed object if thisStateObject
representation of the JPQL query was created by parsing an existing JPQL query.boolean
hasDistinct()
Sets whether theDISTINCT
keyword should be part of the query, which is used to return only distinct (different) values.boolean
isEquivalent(StateObject stateObject)
Determines whether the givenStateObject
is equivalent to this one, i.e.void
setDistinct(boolean distinct)
Sets whether theDISTINCT
keyword should be part of the query, which is used to return only distinct (different) valuesvoid
setStateObject(StateObject stateObject)
void
toggleDistinct()
Reverses the visibility of theDISTINCT
identifier.-
Methods inherited from class org.eclipse.persistence.jpa.jpql.tools.model.query.AbstractSingleEncapsulatedExpressionStateObject
getStateObject, hasStateObject, parse
-
Methods inherited from class org.eclipse.persistence.jpa.jpql.tools.model.query.AbstractEncapsulatedExpressionStateObject
getIdentifier
-
Methods inherited from class org.eclipse.persistence.jpa.jpql.tools.model.query.AbstractStateObject
addPropertyChangeListener, children, decorate, equals, findIdentificationVariable, getDeclaration, getDecorator, getGrammar, getManagedTypeProvider, getParent, getQueryBuilder, getRoot, getType, getType, getTypeHelper, getTypeRepository, hashCode, isDecorated, removePropertyChangeListener, setExpression, setParent, toString, toString, toText
-
Methods inherited from interface org.eclipse.persistence.jpa.jpql.tools.model.query.StateObject
accept
-
-
-
-
Field Detail
-
DISTINCT_PROPERTY
public static final String DISTINCT_PROPERTY
Notifies the visibility of theDISTINCT
identifier has changed.- See Also:
- Constant Field Values
-
-
Method Detail
-
getExpression
public AggregateFunction getExpression()
Returns the actual parsed object if thisStateObject
representation of the JPQL query was created by parsing an existing JPQL query.- Specified by:
getExpression
in interfaceStateObject
- Overrides:
getExpression
in classAbstractSingleEncapsulatedExpressionStateObject
- Returns:
- The parsed object when a JPQL query is parsed and converted into a
StateObject
ornull
when the JPQL query is manually created (i.e. not from a string)
-
hasDistinct
public boolean hasDistinct()
Sets whether theDISTINCT
keyword should be part of the query, which is used to return only distinct (different) values.- Returns:
true
to addDISTINCT
to the query in order to have distinct values;false
if it is not required
-
isEquivalent
public boolean isEquivalent(StateObject stateObject)
Determines whether the givenStateObject
is equivalent to this one, i.e. the information of bothStateObject
is the same.- Specified by:
isEquivalent
in interfaceStateObject
- Overrides:
isEquivalent
in classAbstractSingleEncapsulatedExpressionStateObject
- Parameters:
stateObject
- TheStateObject
to compare its content to this one- Returns:
true
if both object are equivalent;false
otherwise
-
setDistinct
public void setDistinct(boolean distinct)
Sets whether theDISTINCT
keyword should be part of the query, which is used to return only distinct (different) values- Parameters:
distinct
-true
to addDISTINCT
to the query in order to have distinct values;false
if it is not required
-
setStateObject
public void setStateObject(StateObject stateObject)
-
toggleDistinct
public void toggleDistinct()
Reverses the visibility of theDISTINCT
identifier.
-
-