|
EclipseLink 2.4.2, build 'v20130514-5956486' API Reference | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.eclipse.persistence.jpa.jpql.model.query.AbstractStateObject org.eclipse.persistence.jpa.jpql.model.query.AbstractEncapsulatedExpressionStateObject org.eclipse.persistence.jpa.jpql.model.query.AbstractSingleEncapsulatedExpressionStateObject org.eclipse.persistence.jpa.jpql.model.query.AggregateFunctionStateObject
public abstract class AggregateFunctionStateObject
In the 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
Field Summary | |
---|---|
static java.lang.String |
DISTINCT_PROPERTY
Notifies the visibility of the DISTINCT identifier has changed. |
Fields inherited from class org.eclipse.persistence.jpa.jpql.model.query.AbstractSingleEncapsulatedExpressionStateObject |
---|
STATE_OBJECT_PROPERTY |
Constructor Summary | |
---|---|
protected |
AggregateFunctionStateObject(StateObject parent)
Creates a new AggregateFunctionStateObject . |
protected |
AggregateFunctionStateObject(StateObject parent,
boolean distinct,
StateObject stateObject)
Creates a new AggregateStateObject . |
protected |
AggregateFunctionStateObject(StateObject parent,
boolean distinct,
java.lang.String path)
Creates a new AggregateFunctionStateObject . |
protected |
AggregateFunctionStateObject(StateObject parent,
StateObject stateObject)
Creates a new AggregateStateObject . |
protected |
AggregateFunctionStateObject(StateObject parent,
java.lang.String path)
Creates a new AggregateFunctionStateObject . |
Method Summary | |
---|---|
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. the
information of both StateObject is the same. |
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. |
protected void |
toTextEncapsulatedExpression(java.lang.Appendable writer)
Prints out a string representation of this encapsulated information, which should not be used to define a true string representation of a JPQL query but should be used for
debugging purposes. |
Methods inherited from class org.eclipse.persistence.jpa.jpql.model.query.AbstractSingleEncapsulatedExpressionStateObject |
---|
addChildren, getQueryBNFId, getStateObject, hasStateObject, parse |
Methods inherited from class org.eclipse.persistence.jpa.jpql.model.query.AbstractEncapsulatedExpressionStateObject |
---|
getIdentifier, 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 |
Methods inherited from interface org.eclipse.persistence.jpa.jpql.model.query.StateObject |
---|
accept |
Field Detail |
---|
public static final java.lang.String DISTINCT_PROPERTY
DISTINCT
identifier has changed.
Constructor Detail |
---|
protected AggregateFunctionStateObject(StateObject parent)
AggregateFunctionStateObject
.
parent
- The parent of this state object, which cannot be null
java.lang.NullPointerException
- The given parent cannot be null
protected AggregateFunctionStateObject(StateObject parent, boolean distinct, StateObject stateObject)
AggregateStateObject
.
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 requiredstateObject
- The StateObject
representing the encapsulated expression
java.lang.NullPointerException
- The given parent cannot be null
protected AggregateFunctionStateObject(StateObject parent, boolean distinct, java.lang.String path)
AggregateFunctionStateObject
.
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 requiredpath
- Either the identification variable or the state field path expression
java.lang.NullPointerException
- The given parent cannot be null
protected AggregateFunctionStateObject(StateObject parent, StateObject stateObject)
AggregateStateObject
.
parent
- The parent of this state object, which cannot be null
stateObject
- The StateObject
representing the encapsulated expression
java.lang.NullPointerException
- The given parent cannot be null
protected AggregateFunctionStateObject(StateObject parent, java.lang.String path)
AggregateFunctionStateObject
.
parent
- The parent of this state object, which cannot be null
path
- Either the identification variable or the state field path expression
java.lang.NullPointerException
- The given parent cannot be null
Method Detail |
---|
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 one
true
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) values
distinct
- 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.
setStateObject
in class AbstractSingleEncapsulatedExpressionStateObject
stateObject
- The new encapsulated StateObject
public void toggleDistinct()
DISTINCT
identifier.
protected void toTextEncapsulatedExpression(java.lang.Appendable writer) throws java.io.IOException
true
string representation of a JPQL query but should be used for
debugging purposes.
toTextEncapsulatedExpression
in class AbstractSingleEncapsulatedExpressionStateObject
writer
- The writer used to print out the string representation of the encapsulated
information
java.io.IOException
- This should never happens, only required because Appendable
is
used instead of StringBuilder
for instance
|
EclipseLink 2.4.2, build 'v20130514-5956486' API Reference | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |