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 theSELECTclause 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 StringDISTINCT_PROPERTYNotifies the visibility of theDISTINCTidentifier 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 AggregateFunctiongetExpression()Returns the actual parsed object if thisStateObjectrepresentation of the JPQL query was created by parsing an existing JPQL query.booleanhasDistinct()Sets whether theDISTINCTkeyword should be part of the query, which is used to return only distinct (different) values.booleanisEquivalent(StateObject stateObject)Determines whether the givenStateObjectis equivalent to this one, i.e.voidsetDistinct(boolean distinct)Sets whether theDISTINCTkeyword should be part of the query, which is used to return only distinct (different) valuesvoidsetStateObject(StateObject stateObject)voidtoggleDistinct()Reverses the visibility of theDISTINCTidentifier.-
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 theDISTINCTidentifier has changed.- See Also:
- Constant Field Values
-
-
Method Detail
-
getExpression
public AggregateFunction getExpression()
Returns the actual parsed object if thisStateObjectrepresentation of the JPQL query was created by parsing an existing JPQL query.- Specified by:
getExpressionin interfaceStateObject- Overrides:
getExpressionin classAbstractSingleEncapsulatedExpressionStateObject- Returns:
- The parsed object when a JPQL query is parsed and converted into a
StateObjectornullwhen the JPQL query is manually created (i.e. not from a string)
-
hasDistinct
public boolean hasDistinct()
Sets whether theDISTINCTkeyword should be part of the query, which is used to return only distinct (different) values.- Returns:
trueto addDISTINCTto the query in order to have distinct values;falseif it is not required
-
isEquivalent
public boolean isEquivalent(StateObject stateObject)
Determines whether the givenStateObjectis equivalent to this one, i.e. the information of bothStateObjectis the same.- Specified by:
isEquivalentin interfaceStateObject- Overrides:
isEquivalentin classAbstractSingleEncapsulatedExpressionStateObject- Parameters:
stateObject- TheStateObjectto compare its content to this one- Returns:
trueif both object are equivalent;falseotherwise
-
setDistinct
public void setDistinct(boolean distinct)
Sets whether theDISTINCTkeyword should be part of the query, which is used to return only distinct (different) values- Parameters:
distinct-trueto addDISTINCTto the query in order to have distinct values;falseif it is not required
-
setStateObject
public void setStateObject(StateObject stateObject)
-
toggleDistinct
public void toggleDistinct()
Reverses the visibility of theDISTINCTidentifier.
-
-