public class SumFunctionStateObject extends AggregateFunctionStateObject
SUM returns Long when applied to state-fields of integral types
(other than BigInteger); Double when applied to state-fields of
floating point types; BigInteger when applied to state-fields of type
BigInteger; and BigDecimal when applied to state-fields of type
BigDecimal. If SUM, AVG, MAX,
or MIN is used, and there are no values to which the aggregate function can
be applied, the result of the aggregate function is null. If COUNT
is used, and there are no values to which COUNT can be applied, the result of
the aggregate function is 0.
expression ::= SUM([DISTINCT] state_field_path_expression)SumFunctionDISTINCT_PROPERTYSTATE_OBJECT_PROPERTY| Constructor and Description |
|---|
SumFunctionStateObject(StateObject parent)
Creates a new
SumFunctionStateObject. |
SumFunctionStateObject(StateObject parent,
boolean distinct,
StateObject stateObject)
Creates a new
SumFunctionStateObject. |
SumFunctionStateObject(StateObject parent,
boolean distinct,
java.lang.String path)
Creates a new
SumFunctionStateObject. |
SumFunctionStateObject(StateObject parent,
StateObject stateObject)
Creates a new
SumFunctionStateObject. |
SumFunctionStateObject(StateObject parent,
java.lang.String path)
Creates a new
SumFunctionStateObject. |
| Modifier and Type | Method and Description |
|---|---|
void |
accept(StateObjectVisitor visitor)
Visits this
StateObject by the given visitor. |
SumFunction |
getExpression()
Returns the actual parsed object if this
StateObject representation of the JPQL query
was created by parsing an existing JPQL query. |
java.lang.String |
getIdentifier()
Returns the JPQL identifier of the expression represented by this
AbstractSingleEncapsulatedExpressionStateObject. |
protected java.lang.String |
getQueryBNFId()
Returns the unique identifier of the
JPQLQueryBNF that will determine how to parse the encapsulated expression. |
void |
setExpression(SumFunction 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. |
hasDistinct, isEquivalent, setDistinct, setStateObject, toggleDistinct, toTextEncapsulatedExpressionaddChildren, getStateObject, hasStateObject, parsetoTextInternalacceptUnknownVisitor, acceptUnknownVisitor, addProblems, addPropertyChangeListener, areEquivalent, buildProblem, buildProblem, buildStateObject, buildStateObjects, checkParent, children, decorate, equals, findIdentificationVariable, firePropertyChanged, getChangeSupport, getDeclaration, getDecorator, getGrammar, getManagedTypeProvider, getParent, getQueryBuilder, getRoot, getType, getType, getTypeHelper, getTypeRepository, hashCode, initialize, isDecorated, parent, parent, parent, removePropertyChangeListener, setExpression, setParent, toString, toString, toStringInternal, toStringItems, toTextpublic SumFunctionStateObject(StateObject parent)
SumFunctionStateObject.parent - The parent of this state object, which cannot be nulljava.lang.NullPointerException - The given parent cannot be nullpublic SumFunctionStateObject(StateObject parent, boolean distinct, StateObject stateObject)
SumFunctionStateObject.parent - The parent of this state object, which cannot be nulldistinct - true to add DISTINCT to the query in order to
have distinct values; false if it is not requiredstateObject - The StateObject representing the encapsulated expressionjava.lang.NullPointerException - The given parent cannot be nullpublic SumFunctionStateObject(StateObject parent, boolean distinct, java.lang.String path)
SumFunctionStateObject.parent - The parent of this state object, which cannot be nulldistinct - true to add DISTINCT to the query in order to
have distinct values; false if it is not requiredpath - Either the identification variable or the state field path expressionjava.lang.NullPointerException - The given parent cannot be nullpublic SumFunctionStateObject(StateObject parent, StateObject stateObject)
SumFunctionStateObject.parent - The parent of this state object, which cannot be nullstateObject - The StateObject representing the encapsulated expressionjava.lang.NullPointerException - The given parent cannot be nullpublic SumFunctionStateObject(StateObject parent, java.lang.String path)
SumFunctionStateObject.parent - The parent of this state object, which cannot be nullpath - Either the identification variable or the state field path expressionjava.lang.NullPointerException - The given parent cannot be nullpublic void accept(StateObjectVisitor visitor)
StateObject by the given visitor.visitor - The visitor to visit this objectpublic SumFunction getExpression()
StateObject representation of the JPQL query
was created by parsing an existing JPQL query.getExpression in interface StateObjectgetExpression in class AggregateFunctionStateObjectStateObject
or null when the JPQL query is manually created (i.e. not from a string)public java.lang.String getIdentifier()
AbstractSingleEncapsulatedExpressionStateObject.getIdentifier in class AbstractEncapsulatedExpressionStateObjectprotected java.lang.String getQueryBNFId()
JPQLQueryBNF that will determine how to parse the encapsulated expression.getQueryBNFId in class AbstractSingleEncapsulatedExpressionStateObjectnull ID of the BNFpublic void setExpression(SumFunction 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 SUM
expression