|
Oracle Fusion Middleware Java API Reference for Oracle TopLink 11g Release 1 (11.1.1) E28847-01 |
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Object
org.eclipse.persistence.jpa.internal.jpql.parser.StringExpression
org.eclipse.persistence.jpa.internal.jpql.parser.AbstractExpression
org.eclipse.persistence.jpa.internal.jpql.parser.AbstractEncapsulatedExpression
org.eclipse.persistence.jpa.internal.jpql.parser.AbstractSingleEncapsulatedExpression
org.eclipse.persistence.jpa.internal.jpql.parser.AggregateFunction
public abstract class AggregateFunction
In the SELECT clause the result of a query may be the result of an aggregate function applied to a path expression. The following aggregate functions can be used in the SELECT clause of a query: AVG, COUNT, MAX, MIN, SUM.
A single_valued_association_field is designated by the name of an association-field in a one-to-one or many-to-one relationship. The type of a single_valued_association_field and thus a single_valued_association_path_expression is the abstract schema type of the related entity.
The argument to an aggregate function may be preceded by the keyword DISTINCT to specify that duplicate values are to be eliminated before the aggregate function is applied. Null values are eliminated before the aggregate function is applied, regardless of whether the keyword DISTINCT is specified.
aggregate_expression ::= { AVG | MAX | MIN | SUM } ([DISTINCT] state_field_path_expression) | COUNT ([DISTINCT] identification_variable | state_field_path_expression | single_valued_object_path_expression)
AvgFunction, CountFunction, MaxFunction, MinFunction, SumFunction| Field Summary | |
|---|---|
private boolean |
hasDistinctDetermines whether the identifier DISTINCT was parsed. |
private boolean |
hasSpaceAfterDistinctDetermines whether whitespace was found after the identifier DISTINCT. |
| Fields inherited from class org.eclipse.persistence.jpa.internal.jpql.parser.AbstractExpression |
|---|
COMMA, DOT, DOUBLE_QUOTE, LEFT_CURLY_BRACKET, LEFT_PARENTHESIS, NOT_DEFINED, RIGHT_CURLY_BRACKET, RIGHT_PARENTHESIS, SINGLE_QUOTE, SPACE, UNDERSCORE |
| Constructor Summary | |
|---|---|
AggregateFunction(AbstractExpression parent)Creates a new AggregateFunction. |
|
| Method Summary | |
|---|---|
(package private) void |
addOrderedEncapsulatedExpressionTo(java.util.List<StringExpression> children)Adds the StringExpressions representing the encapsulated Expression. |
(package private) AbstractExpression |
buildEncapsulatedExpression(WordParser wordParser, java.lang.String word)Creates the AbstractExpression to represent the given word. |
java.lang.String |
encapsulatedExpressionBNF()Returns the BNF used to parse the encapsulated expression. |
JPQLQueryBNF |
getQueryBNF()Returns the BNF of this Expression. |
boolean |
hasDistinct()Determines whether the DISTINCT identifier was specified in the query. |
boolean |
hasSpaceAfterDistinct()Determines whether a whitespace was parsed after DISTINCT. |
(package private) void |
parseEncapsulatedExpression(WordParser wordParser, boolean tolerant)Parses the encapsulated expression by starting at the current position, which is part of the given WordParser. |
(package private) void |
toParsedTextEncapsulatedExpression(java.lang.StringBuilder writer, boolean includeVirtual)Generates a string representation of the encapsulated Expression. |
| Methods inherited from class org.eclipse.persistence.jpa.internal.jpql.parser.AbstractSingleEncapsulatedExpression |
|---|
acceptChildren, addChildrenTo, getExpression, hasEncapsulatedExpression, hasExpression, setExpression |
| Methods inherited from class org.eclipse.persistence.jpa.internal.jpql.parser.AbstractEncapsulatedExpression |
|---|
addOrderedChildrenTo, areLogicalIdentifiersSupported, getIdentifier, hasLeftParenthesis, hasRightParenthesis, isParsingComplete, parse, parseIdentifier, toParsedText |
| Methods inherited from class org.eclipse.persistence.jpa.internal.jpql.parser.AbstractExpression |
|---|
buildExpressionFromFallingBack, buildNullExpression, buildStringExpression, buildStringExpression, buildUnknownExpression, children, expressionFactory, expressionFactoryForIdentifier, findQueryBNF, getChildren, getJPAVersion, getParent, getRoot, getText, handleAggregate, identifierRole, identifiers, identifiers, identifierVersion, isAncestor, isIdentifier, isNull, isTolerant, isUnknown, isVirtual, orderedChildren, parse, parseSingleExpression, populatePosition, queryBNF, readdLeadingSpaces, rebuildActualText, rebuildParsedText, setParent, setText, shouldParseWithFactoryFirst, shouldSkipLiteral, toActualText, toParsedText, toString |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface org.eclipse.persistence.jpa.internal.jpql.parser.Expression |
|---|
accept |
| Field Detail |
|---|
private boolean hasDistinct
private boolean hasSpaceAfterDistinct
| Constructor Detail |
|---|
AggregateFunction(AbstractExpression parent)
AggregateFunction.
parent - The parent of this expression| Method Detail |
|---|
void addOrderedEncapsulatedExpressionTo(java.util.List<StringExpression> children)
StringExpressions representing the encapsulated Expression.addOrderedEncapsulatedExpressionTo in class AbstractSingleEncapsulatedExpressionchildren - The list used to store the string representation of the encapsulated ExpressionAbstractExpression buildEncapsulatedExpression(WordParser wordParser, java.lang.String word)
AbstractExpression to represent the given word.word - The word that was parsedAbstractExpressionpublic java.lang.String encapsulatedExpressionBNF()
encapsulatedExpressionBNF in class AbstractSingleEncapsulatedExpressionpublic JPQLQueryBNF getQueryBNF()
Expression.getQueryBNF in class AbstractExpressionJPQLQueryBNF, which represents the grammar of this Expressionpublic final boolean hasDistinct()
true if the query has DISTINCT; false otherwisepublic final boolean hasSpaceAfterDistinct()
true if there was a whitespace after DISTINCT; false otherwisefinal void parseEncapsulatedExpression(WordParser wordParser, boolean tolerant)
WordParser.parseEncapsulatedExpression in class AbstractSingleEncapsulatedExpressionwordParser - The text to parse based on the current position of the cursortolerant - Determines whether the parsing system should be tolerant, meaning if it should try to parse invalid or incomplete queries
void toParsedTextEncapsulatedExpression(java.lang.StringBuilder writer,
boolean includeVirtual)
Expression.toParsedTextEncapsulatedExpression in class AbstractSingleEncapsulatedExpressionwriter - The buffer used to append the encapsulated Expression's string representationincludeVirtual - Determines whether to include any characters that are considered virtual, i.e. that was parsed when the query is incomplete and is needed for functionality like content assist
|
|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||