EclipseLink 2.4.2, build 'v20130514-5956486' API Reference

org.eclipse.persistence.jpa.jpql.model.query
Class SumFunctionStateObject

java.lang.Object
  extended by org.eclipse.persistence.jpa.jpql.model.query.AbstractStateObject
      extended by org.eclipse.persistence.jpa.jpql.model.query.AbstractEncapsulatedExpressionStateObject
          extended by org.eclipse.persistence.jpa.jpql.model.query.AbstractSingleEncapsulatedExpressionStateObject
              extended by org.eclipse.persistence.jpa.jpql.model.query.AggregateFunctionStateObject
                  extended by org.eclipse.persistence.jpa.jpql.model.query.SumFunctionStateObject
All Implemented Interfaces:
StateObject

public class SumFunctionStateObject
extends AggregateFunctionStateObject

One of the aggregate functions. The arguments must be numeric.

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.

BNF: expression ::= SUM([DISTINCT] state_field_path_expression)

Version:
2.4
See Also:
SumFunction
Author:
Pascal Filion
Since:
2.4

Field Summary
 
Fields inherited from class org.eclipse.persistence.jpa.jpql.model.query.AggregateFunctionStateObject
DISTINCT_PROPERTY
 
Fields inherited from class org.eclipse.persistence.jpa.jpql.model.query.AbstractSingleEncapsulatedExpressionStateObject
STATE_OBJECT_PROPERTY
 
Constructor Summary
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.
 
Method Summary
 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.
 
Methods inherited from class org.eclipse.persistence.jpa.jpql.model.query.AggregateFunctionStateObject
hasDistinct, isEquivalent, setDistinct, setStateObject, toggleDistinct, toTextEncapsulatedExpression
 
Methods inherited from class org.eclipse.persistence.jpa.jpql.model.query.AbstractSingleEncapsulatedExpressionStateObject
addChildren, getStateObject, hasStateObject, parse
 
Methods inherited from class org.eclipse.persistence.jpa.jpql.model.query.AbstractEncapsulatedExpressionStateObject
toTextInternal
 
Methods inherited from class org.eclipse.persistence.jpa.jpql.model.query.AbstractStateObject
acceptUnknownVisitor, 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, toText
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

SumFunctionStateObject

public SumFunctionStateObject(StateObject parent)
Creates a new SumFunctionStateObject.

Parameters:
parent - The parent of this state object, which cannot be null
Throws:
java.lang.NullPointerException - The given parent cannot be null

SumFunctionStateObject

public SumFunctionStateObject(StateObject parent,
                              boolean distinct,
                              StateObject stateObject)
Creates a new SumFunctionStateObject.

Parameters:
parent - The parent of this state object, which cannot be null
distinct - true to add DISTINCT to the query in order to have distinct values; false if it is not required
stateObject - The StateObject representing the encapsulated expression
Throws:
java.lang.NullPointerException - The given parent cannot be null

SumFunctionStateObject

public SumFunctionStateObject(StateObject parent,
                              boolean distinct,
                              java.lang.String path)
Creates a new SumFunctionStateObject.

Parameters:
parent - The parent of this state object, which cannot be null
distinct - true to add DISTINCT to the query in order to have distinct values; false if it is not required
path - Either the identification variable or the state field path expression
Throws:
java.lang.NullPointerException - The given parent cannot be null

SumFunctionStateObject

public SumFunctionStateObject(StateObject parent,
                              StateObject stateObject)
Creates a new SumFunctionStateObject.

Parameters:
parent - The parent of this state object, which cannot be null
stateObject - The StateObject representing the encapsulated expression
Throws:
java.lang.NullPointerException - The given parent cannot be null

SumFunctionStateObject

public SumFunctionStateObject(StateObject parent,
                              java.lang.String path)
Creates a new SumFunctionStateObject.

Parameters:
parent - The parent of this state object, which cannot be null
path - Either the identification variable or the state field path expression
Throws:
java.lang.NullPointerException - The given parent cannot be null
Method Detail

accept

public void accept(StateObjectVisitor visitor)
Visits this StateObject by the given visitor.

Parameters:
visitor - The visitor to visit this object

getExpression

public SumFunction getExpression()
Returns the actual parsed object if this StateObject representation of the JPQL query was created by parsing an existing JPQL query.

Specified by:
getExpression in interface StateObject
Overrides:
getExpression in class AggregateFunctionStateObject
Returns:
The parsed object when a JPQL query is parsed and converted into a StateObject or null when the JPQL query is manually created (i.e. not from a string)

getIdentifier

public java.lang.String getIdentifier()
Returns the JPQL identifier of the expression represented by this AbstractSingleEncapsulatedExpressionStateObject.

Specified by:
getIdentifier in class AbstractEncapsulatedExpressionStateObject
Returns:
The JPQL identifier that is shown before the left parenthesis

getQueryBNFId

protected java.lang.String getQueryBNFId()
Returns the unique identifier of the JPQLQueryBNF that will determine how to parse the encapsulated expression.

Specified by:
getQueryBNFId in class AbstractSingleEncapsulatedExpressionStateObject
Returns:
The non-null ID of the BNF

setExpression

public 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.

Parameters:
expression - The parsed object representing a SUM expression

EclipseLink 2.4.2, build 'v20130514-5956486' API Reference