EclipseLink 2.4.2, build 'v20130514-5956486' API Reference

org.eclipse.persistence.jpa.jpql.parser
Interface Expression

All Known Implementing Classes:
AbsExpression, AbstractConditionalClause, AbstractDoubleEncapsulatedExpression, AbstractEncapsulatedExpression, AbstractExpression, AbstractFromClause, AbstractPathExpression, AbstractSchemaName, AbstractSelectClause, AbstractSelectStatement, AbstractSingleEncapsulatedExpression, AbstractTripleEncapsulatedExpression, AdditionExpression, AggregateFunction, AllOrAnyExpression, AndExpression, ArithmeticExpression, ArithmeticFactor, AvgFunction, BadExpression, BetweenExpression, CaseExpression, CastExpression, CoalesceExpression, CollectionExpression, CollectionMemberDeclaration, CollectionMemberExpression, CollectionValuedPathExpression, ComparisonExpression, CompoundExpression, ConcatExpression, ConstructorExpression, CountFunction, DatabaseType, DateTime, DefaultStringExpression, DeleteClause, DeleteStatement, DivisionExpression, EmptyCollectionComparisonExpression, EncapsulatedIdentificationVariableExpression, EntityTypeLiteral, EntryExpression, ExistsExpression, ExtractExpression, FromClause, FunctionExpression, GroupByClause, HavingClause, IdentificationVariable, IdentificationVariableDeclaration, IndexExpression, InExpression, InputParameter, Join, JPQLExpression, KeyExpression, KeywordExpression, LengthExpression, LikeExpression, LocateExpression, LogicalExpression, LowerExpression, MaxFunction, MinFunction, ModExpression, MultiplicationExpression, NotExpression, NullComparisonExpression, NullExpression, NullIfExpression, NumericLiteral, ObjectExpression, OnClause, OrderByClause, OrderByItem, OrExpression, RangeVariableDeclaration, RegexpExpression, ResultVariable, SelectClause, SelectStatement, SimpleFromClause, SimpleSelectClause, SimpleSelectStatement, SizeExpression, SqrtExpression, StateFieldPathExpression, StringLiteral, SubExpression, SubstringExpression, SubtractionExpression, SumFunction, TableExpression, TableVariableDeclaration, TreatExpression, TrimExpression, TypeExpression, UnionClause, UnknownExpression, UpdateClause, UpdateItem, UpdateStatement, UpperExpression, ValueExpression, WhenClause, WhereClause

public interface Expression

This is the root interface of the parsed tree representation of a JPQL query. The way a JPQL query is parsed is based on the JPQL grammar used.

Provisional API: This interface is part of an interim API that is still under development and expected to change significantly before reaching stability. It is available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.

Version:
2.4.2
See Also:
JPQLGrammar
Author:
Pascal Filion
Since:
2.3

Field Summary
static java.lang.String ABS
          The constant for 'ABS'.
static java.lang.String ALL
          The constant for 'ALL'.
static java.lang.String AND
          The constant for 'AND'.
static java.lang.String ANY
          The constant for 'ANY'.
static java.lang.String AS
          The constant for 'AS'.
static java.lang.String ASC
          The constant for 'ASC'.
static java.lang.String AVG
          The constant for 'AVG'.
static java.lang.String BETWEEN
          The constant for 'BETWEEN'.
static java.lang.String BIT_LENGTH
          The constant for 'BIT_LENGTH', which is an unused keyword.
static java.lang.String BOTH
          The constant for 'BOTH'.
static java.lang.String CASE
          The constant for the identifier 'CASE'.
static java.lang.String CAST
          The constant for the identifier 'CAST'.
static java.lang.String CHAR_LENGTH
          The constant for 'CHAR_LENGTH', which is an unused keyword.
static java.lang.String CHARACTER_LENGTH
          The constant for 'CHARACTER_LENGTH', which is an unused keyword.
static java.lang.String CLASS
          The constant for 'CLASS', which is an unused keyword.
static java.lang.String COALESCE
          The constant for 'COALESCE'.
static java.lang.String COLUMN
          The constant 'COLUMN', which is an EclipseLink specific identifier that was added in version 2.4.
static java.lang.String CONCAT
          The constant for 'CONCAT'.
static java.lang.String COUNT
          The constant for 'COUNT'.
static java.lang.String CURRENT_DATE
          The constant for 'CURRENT_DATE'.
static java.lang.String CURRENT_TIME
          The constant for 'CURRENT_DATE'.
static java.lang.String CURRENT_TIMESTAMP
          The constant for 'CURRENT_TIMESTAMP'.
static java.lang.String DELETE
          The constant for 'DELETE'.
static java.lang.String DELETE_FROM
          The constant for 'DELETE FROM'.
static java.lang.String DESC
          The constant for 'DESC'.
static java.lang.String DIFFERENT
          The constant for '<>'.
static java.lang.String DISTINCT
          The constant for 'DISTINCT'.
static java.lang.String DIVISION
          The constant for the division sign '/'.
static java.lang.String ELSE
          The constant for the identifier 'ELSE'.
static java.lang.String EMPTY
          The constant for 'EMPTY'.
static java.lang.String END
          The constant for the identifier 'END'.
static java.lang.String ENTRY
          The constant for 'ENTRY'.
static java.lang.String EQUAL
          The constant for '='.
static java.lang.String ESCAPE
          The constant for 'ESCAPE'.
static java.lang.String EXCEPT
          The constant for 'EXCEPT'.
static java.lang.String EXISTS
          The constant for 'EXISTS'.
static java.lang.String EXTRACT
          The constant for 'EXTRACT'.
static java.lang.String FALSE
          The constant for 'FALSE'.
static java.lang.String FETCH
          A constant for 'FETCH'.
static java.lang.String FROM
          The constant for 'FROM'.
static java.lang.String FUNC
          The constant 'FUNC', which is an EclipseLink specific identifier that was added in version 2.1.
static java.lang.String FUNCTION
          The constant 'FUNCTION', part of JPA 2.1.
static java.lang.String GREATER_THAN
          The constant for '>'.
static java.lang.String GREATER_THAN_OR_EQUAL
          The constant for '>='.
static java.lang.String GROUP_BY
          The constant for 'GROUP BY'.
static java.lang.String HAVING
          The constant for 'HAVING'.
static java.lang.String IN
          The constant for 'IN'.
static java.lang.String INDEX
          The constant for 'INDEX'.
static java.lang.String INNER
          The constant for 'INNER'.
static java.lang.String INNER_JOIN
          The constant for 'INNER JOIN'.
static java.lang.String INNER_JOIN_FETCH
          The constant for 'INNER JOIN FETCH'.
static java.lang.String INTERSECT
          The constant for 'INTERSECT'.
static java.lang.String IS
          The constant for 'IS'.
static java.lang.String IS_EMPTY
          The constant for 'IS EMPTY'.
static java.lang.String IS_NOT_EMPTY
          The constant for 'IS NOT EMPTY'.
static java.lang.String IS_NOT_NULL
          The constant for 'IS NOT NULL'.
static java.lang.String IS_NULL
          The constant for 'IS NULL'.
static java.lang.String JOIN
          The constant for 'JOIN'.
static java.lang.String JOIN_FETCH
          The constant for 'JOIN FETCH'.
static java.lang.String KEY
          The constant for 'KEY'.
static java.lang.String LEADING
          The constant for 'LEADING'.
static java.lang.String LEFT
          The constant for 'LEFT'.
static java.lang.String LEFT_JOIN
          The constant for 'LEFT JOIN'.
static java.lang.String LEFT_JOIN_FETCH
          The constant for 'LEFT JOIN FETCH'.
static java.lang.String LEFT_OUTER_JOIN
          The constant for 'LEFT OUTER JOIN'.
static java.lang.String LEFT_OUTER_JOIN_FETCH
          The constant for 'LEFT OUTER JOIN FETCH'.
static java.lang.String LENGTH
          The constant for 'LENGTH'.
static java.lang.String LIKE
          The constant for 'LIKE'.
static java.lang.String LOCATE
          The constant for 'LOCATE'.
static java.lang.String LOWER
          The constant for 'LOWER'.
static java.lang.String LOWER_THAN
          The constant for '<'.
static java.lang.String LOWER_THAN_OR_EQUAL
          The constant for '<='.
static java.lang.String MAX
          The constant for 'MAX'.
static java.lang.String MEMBER
          The constant for 'MEMBER'.
static java.lang.String MEMBER_OF
          The constant for 'MEMBER OF'.
static java.lang.String MIN
          The constant for 'MIN'.
static java.lang.String MINUS
          The constant for the minus sign '-'.
static java.lang.String MOD
          The constant for 'MOD'.
static java.lang.String MULTIPLICATION
          The constant for multiplication sign '*'.
static java.lang.String NAMED_PARAMETER
          The constant for ':'.
static java.lang.String NEW
          The constant for 'NEW'.
static java.lang.String NOT
          The constant for 'NOT'.
static java.lang.String NOT_BETWEEN
          The constant for 'NOT BETWEEN'.
static java.lang.String NOT_EQUAL
          The constant for '!
static java.lang.String NOT_EXISTS
          The constant for 'NOT EXISTS'.
static java.lang.String NOT_IN
          The constant for 'NOT IN'.
static java.lang.String NOT_LIKE
          The constant for 'NOT LIKE'.
static java.lang.String NOT_MEMBER
          The constant for 'NOT MEMBER'.
static java.lang.String NOT_MEMBER_OF
          The constant for 'NOT MEMBER OF'.
static java.lang.String NULL
          The constant for 'NULL'.
static java.lang.String NULLIF
          The constant for 'NULLIF'.
static java.lang.String NULLS_FIRST
          The constant for 'NULLS FIRST'.
static java.lang.String NULLS_LAST
          The constant for 'NULLS LAST'.
static java.lang.String OBJECT
          The constant for 'OBJECT'.
static java.lang.String OF
          The constant for 'OF'.
static java.lang.String ON
          The constant for 'ON', which is an EclipseLink specific identifier that was added in version 2.4.
static java.lang.String OPERATOR
          The constant 'OPERATOR', which is an EclipseLink specific identifier that was added in version 2.4.
static java.lang.String OR
          The constant for 'OR'.
static java.lang.String ORDER_BY
          The constant for 'ORDER BY'.
static java.lang.String OUTER
          The constant for 'OUTER'.
static java.lang.String PLUS
          The constant for for the plus sign '+'.
static java.lang.String POSITION
          The constant for 'POSITION', which is an unused keyword.
static java.lang.String POSITIONAL_PARAMETER
          The constant for '?'.
static java.lang.String QUOTE
          The constant for single quote.
static java.lang.String REGEXP
          The constant for 'REGEXP'.
static java.lang.String SELECT
          The constant for 'SELECT'.
static java.lang.String SET
          The constant for 'SET'.
static java.lang.String SIZE
          The constant for 'SIZE'.
static java.lang.String SOME
          The constant for 'SOME'.
static java.lang.String SQL
          The constant 'SQL', which is an EclipseLink specific identifier that was added in version 2.4.
static java.lang.String SQRT
          The constant for 'SQRT'.
static java.lang.String SUBSTRING
          The constant for 'SUBSTRING'.
static java.lang.String SUM
          The constant for 'SUM'.
static java.lang.String TABLE
          The constant for 'TABLE'.
static java.lang.String THEN
          The constant for 'THEN'.
static java.lang.String TRAILING
          The constant for 'TRAILING'.
static java.lang.String TREAT
          The constant for 'TREAT', which is an EclipseLink specific identifier that was added in version 2.1.
static java.lang.String TRIM
          The constant for 'TRIM'.
static java.lang.String TRUE
          The constant for 'TRUE'.
static java.lang.String TYPE
          The constant for 'TYPE'.
static java.lang.String UNION
          The constant for 'UNION'.
static java.lang.String UNKNOWN
          The constant for 'UNKNOWN', which is an unused keyword.
static java.lang.String UPDATE
          The constant for 'UPDATE'.
static java.lang.String UPPER
          The constant for 'UPPER'.
static java.lang.String VALUE
          The constant for 'VALUE'.
static java.lang.String WHEN
          The constant for the identifier 'WHEN'.
static java.lang.String WHERE
          The constant for 'WHERE'.
 
Method Summary
 void accept(ExpressionVisitor visitor)
          Visits this Expression by the given visitor.
 void acceptChildren(ExpressionVisitor visitor)
          Visits the children of this Expression.
 IterableListIterator<Expression> children()
          Returns the children of this Expression.
 JPQLQueryBNF findQueryBNF(Expression expression)
          Retrieves the JPQLQueryBNF that represents the fragment of this Expression that was used when parsing the given Expression.
 JPQLGrammar getGrammar()
          Returns the JPQLGrammar that defines how the JPQL query was parsed.
 int getLength()
          Returns the length of the string representation of this Expression, which is the length of the text generated by toActualText().
 int getOffset()
          Returns the position of this Expression within its parent hierarchy.
 Expression getParent()
          Returns the parent of this Expression.
 JPQLQueryBNF getQueryBNF()
          Returns the BNF of this Expression.
 JPQLExpression getRoot()
          Retrieves the root node of the parsed tree hierarchy.
 boolean isAncestor(Expression expression)
          Determines whether this Expression is a parent of the given Expression.
 IterableListIterator<Expression> orderedChildren()
          Returns the list representing this Expression and its children.
 void populatePosition(QueryPosition queryPosition, int position)
          Retrieves the Expression located at the given position using the actual query, which may have extra whitespace.
 java.lang.String toActualText()
          Generates a string representation of this Expression, which needs 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.
 java.lang.String toParsedText()
          Returns a string representation of this Expression and its children.
 

Field Detail

ABS

static final java.lang.String ABS
The constant for 'ABS'.

See Also:
Constant Field Values

ALL

static final java.lang.String ALL
The constant for 'ALL'.

See Also:
Constant Field Values

AND

static final java.lang.String AND
The constant for 'AND'.

See Also:
Constant Field Values

ANY

static final java.lang.String ANY
The constant for 'ANY'.

See Also:
Constant Field Values

AS

static final java.lang.String AS
The constant for 'AS'.

See Also:
Constant Field Values

ASC

static final java.lang.String ASC
The constant for 'ASC'.

See Also:
Constant Field Values

AVG

static final java.lang.String AVG
The constant for 'AVG'.

See Also:
Constant Field Values

BETWEEN

static final java.lang.String BETWEEN
The constant for 'BETWEEN'.

See Also:
Constant Field Values

BIT_LENGTH

static final java.lang.String BIT_LENGTH
The constant for 'BIT_LENGTH', which is an unused keyword.

See Also:
Constant Field Values

BOTH

static final java.lang.String BOTH
The constant for 'BOTH'.

See Also:
Constant Field Values

CASE

static final java.lang.String CASE
The constant for the identifier 'CASE'.

See Also:
Constant Field Values

CAST

static final java.lang.String CAST
The constant for the identifier 'CAST'.

See Also:
Constant Field Values
Since:
2.4

CHAR_LENGTH

static final java.lang.String CHAR_LENGTH
The constant for 'CHAR_LENGTH', which is an unused keyword.

See Also:
Constant Field Values

CHARACTER_LENGTH

static final java.lang.String CHARACTER_LENGTH
The constant for 'CHARACTER_LENGTH', which is an unused keyword.

See Also:
Constant Field Values

CLASS

static final java.lang.String CLASS
The constant for 'CLASS', which is an unused keyword.

See Also:
Constant Field Values

COALESCE

static final java.lang.String COALESCE
The constant for 'COALESCE'.

See Also:
Constant Field Values

COLUMN

static final java.lang.String COLUMN
The constant 'COLUMN', which is an EclipseLink specific identifier that was added in version 2.4.

See Also:
Constant Field Values
Since:
2.4

CONCAT

static final java.lang.String CONCAT
The constant for 'CONCAT'.

See Also:
Constant Field Values

COUNT

static final java.lang.String COUNT
The constant for 'COUNT'.

See Also:
Constant Field Values

CURRENT_DATE

static final java.lang.String CURRENT_DATE
The constant for 'CURRENT_DATE'.

See Also:
Constant Field Values

CURRENT_TIME

static final java.lang.String CURRENT_TIME
The constant for 'CURRENT_DATE'.

See Also:
Constant Field Values

CURRENT_TIMESTAMP

static final java.lang.String CURRENT_TIMESTAMP
The constant for 'CURRENT_TIMESTAMP'.

See Also:
Constant Field Values

DELETE

static final java.lang.String DELETE
The constant for 'DELETE'.

See Also:
Constant Field Values

DELETE_FROM

static final java.lang.String DELETE_FROM
The constant for 'DELETE FROM'.

See Also:
Constant Field Values

DESC

static final java.lang.String DESC
The constant for 'DESC'.

See Also:
Constant Field Values

DIFFERENT

static final java.lang.String DIFFERENT
The constant for '<>'.

See Also:
Constant Field Values

DISTINCT

static final java.lang.String DISTINCT
The constant for 'DISTINCT'.

See Also:
Constant Field Values

DIVISION

static final java.lang.String DIVISION
The constant for the division sign '/'.

See Also:
Constant Field Values

ELSE

static final java.lang.String ELSE
The constant for the identifier 'ELSE'.

See Also:
Constant Field Values

EMPTY

static final java.lang.String EMPTY
The constant for 'EMPTY'.

See Also:
Constant Field Values

END

static final java.lang.String END
The constant for the identifier 'END'.

See Also:
Constant Field Values

ENTRY

static final java.lang.String ENTRY
The constant for 'ENTRY'.

See Also:
Constant Field Values

EQUAL

static final java.lang.String EQUAL
The constant for '='.

See Also:
Constant Field Values

ESCAPE

static final java.lang.String ESCAPE
The constant for 'ESCAPE'.

See Also:
Constant Field Values

EXCEPT

static final java.lang.String EXCEPT
The constant for 'EXCEPT'.

See Also:
Constant Field Values
Since:
2.4

EXISTS

static final java.lang.String EXISTS
The constant for 'EXISTS'.

See Also:
Constant Field Values

EXTRACT

static final java.lang.String EXTRACT
The constant for 'EXTRACT'.

See Also:
Constant Field Values
Since:
2.4

FALSE

static final java.lang.String FALSE
The constant for 'FALSE'.

See Also:
Constant Field Values

FETCH

static final java.lang.String FETCH
A constant for 'FETCH'.

See Also:
Constant Field Values

FROM

static final java.lang.String FROM
The constant for 'FROM'.

See Also:
Constant Field Values

FUNC

static final java.lang.String FUNC
The constant 'FUNC', which is an EclipseLink specific identifier that was added in version 2.1.

See Also:
Constant Field Values

FUNCTION

static final java.lang.String FUNCTION
The constant 'FUNCTION', part of JPA 2.1.

See Also:
Constant Field Values
Since:
2.4

GREATER_THAN

static final java.lang.String GREATER_THAN
The constant for '>'.

See Also:
Constant Field Values

GREATER_THAN_OR_EQUAL

static final java.lang.String GREATER_THAN_OR_EQUAL
The constant for '>='.

See Also:
Constant Field Values

GROUP_BY

static final java.lang.String GROUP_BY
The constant for 'GROUP BY'.

See Also:
Constant Field Values

HAVING

static final java.lang.String HAVING
The constant for 'HAVING'.

See Also:
Constant Field Values

IN

static final java.lang.String IN
The constant for 'IN'.

See Also:
Constant Field Values

INDEX

static final java.lang.String INDEX
The constant for 'INDEX'.

See Also:
Constant Field Values

INNER

static final java.lang.String INNER
The constant for 'INNER'.

See Also:
Constant Field Values

INNER_JOIN

static final java.lang.String INNER_JOIN
The constant for 'INNER JOIN'.

See Also:
Constant Field Values

INNER_JOIN_FETCH

static final java.lang.String INNER_JOIN_FETCH
The constant for 'INNER JOIN FETCH'.

See Also:
Constant Field Values

INTERSECT

static final java.lang.String INTERSECT
The constant for 'INTERSECT'.

See Also:
Constant Field Values
Since:
2.4

IS

static final java.lang.String IS
The constant for 'IS'.

See Also:
Constant Field Values

IS_EMPTY

static final java.lang.String IS_EMPTY
The constant for 'IS EMPTY'.

See Also:
Constant Field Values

IS_NOT_EMPTY

static final java.lang.String IS_NOT_EMPTY
The constant for 'IS NOT EMPTY'.

See Also:
Constant Field Values

IS_NOT_NULL

static final java.lang.String IS_NOT_NULL
The constant for 'IS NOT NULL'.

See Also:
Constant Field Values

IS_NULL

static final java.lang.String IS_NULL
The constant for 'IS NULL'.

See Also:
Constant Field Values

JOIN

static final java.lang.String JOIN
The constant for 'JOIN'.

See Also:
Constant Field Values

JOIN_FETCH

static final java.lang.String JOIN_FETCH
The constant for 'JOIN FETCH'.

See Also:
Constant Field Values

KEY

static final java.lang.String KEY
The constant for 'KEY'.

See Also:
Constant Field Values

LEADING

static final java.lang.String LEADING
The constant for 'LEADING'.

See Also:
Constant Field Values

LEFT

static final java.lang.String LEFT
The constant for 'LEFT'.

See Also:
Constant Field Values

LEFT_JOIN

static final java.lang.String LEFT_JOIN
The constant for 'LEFT JOIN'.

See Also:
Constant Field Values

LEFT_JOIN_FETCH

static final java.lang.String LEFT_JOIN_FETCH
The constant for 'LEFT JOIN FETCH'.

See Also:
Constant Field Values

LEFT_OUTER_JOIN

static final java.lang.String LEFT_OUTER_JOIN
The constant for 'LEFT OUTER JOIN'.

See Also:
Constant Field Values

LEFT_OUTER_JOIN_FETCH

static final java.lang.String LEFT_OUTER_JOIN_FETCH
The constant for 'LEFT OUTER JOIN FETCH'.

See Also:
Constant Field Values

LENGTH

static final java.lang.String LENGTH
The constant for 'LENGTH'.

See Also:
Constant Field Values

LIKE

static final java.lang.String LIKE
The constant for 'LIKE'.

See Also:
Constant Field Values

LOCATE

static final java.lang.String LOCATE
The constant for 'LOCATE'.

See Also:
Constant Field Values

LOWER

static final java.lang.String LOWER
The constant for 'LOWER'.

See Also:
Constant Field Values

LOWER_THAN

static final java.lang.String LOWER_THAN
The constant for '<'.

See Also:
Constant Field Values

LOWER_THAN_OR_EQUAL

static final java.lang.String LOWER_THAN_OR_EQUAL
The constant for '<='.

See Also:
Constant Field Values

MAX

static final java.lang.String MAX
The constant for 'MAX'.

See Also:
Constant Field Values

MEMBER

static final java.lang.String MEMBER
The constant for 'MEMBER'.

See Also:
Constant Field Values

MEMBER_OF

static final java.lang.String MEMBER_OF
The constant for 'MEMBER OF'.

See Also:
Constant Field Values

MIN

static final java.lang.String MIN
The constant for 'MIN'.

See Also:
Constant Field Values

MINUS

static final java.lang.String MINUS
The constant for the minus sign '-'.

See Also:
Constant Field Values

MOD

static final java.lang.String MOD
The constant for 'MOD'.

See Also:
Constant Field Values

MULTIPLICATION

static final java.lang.String MULTIPLICATION
The constant for multiplication sign '*'.

See Also:
Constant Field Values

NAMED_PARAMETER

static final java.lang.String NAMED_PARAMETER
The constant for ':'.

See Also:
Constant Field Values

NEW

static final java.lang.String NEW
The constant for 'NEW'.

See Also:
Constant Field Values

NOT

static final java.lang.String NOT
The constant for 'NOT'.

See Also:
Constant Field Values

NOT_BETWEEN

static final java.lang.String NOT_BETWEEN
The constant for 'NOT BETWEEN'.

See Also:
Constant Field Values

NOT_EQUAL

static final java.lang.String NOT_EQUAL
The constant for '!='.

See Also:
Constant Field Values
Since:
2.4

NOT_EXISTS

static final java.lang.String NOT_EXISTS
The constant for 'NOT EXISTS'.

See Also:
Constant Field Values

NOT_IN

static final java.lang.String NOT_IN
The constant for 'NOT IN'.

See Also:
Constant Field Values

NOT_LIKE

static final java.lang.String NOT_LIKE
The constant for 'NOT LIKE'.

See Also:
Constant Field Values

NOT_MEMBER

static final java.lang.String NOT_MEMBER
The constant for 'NOT MEMBER'.

See Also:
Constant Field Values

NOT_MEMBER_OF

static final java.lang.String NOT_MEMBER_OF
The constant for 'NOT MEMBER OF'.

See Also:
Constant Field Values

NULL

static final java.lang.String NULL
The constant for 'NULL'.

See Also:
Constant Field Values

NULLIF

static final java.lang.String NULLIF
The constant for 'NULLIF'.

See Also:
Constant Field Values

NULLS_FIRST

static final java.lang.String NULLS_FIRST
The constant for 'NULLS FIRST'.

See Also:
Constant Field Values
Since:
2.4

NULLS_LAST

static final java.lang.String NULLS_LAST
The constant for 'NULLS LAST'.

See Also:
Constant Field Values
Since:
2.4

OBJECT

static final java.lang.String OBJECT
The constant for 'OBJECT'.

See Also:
Constant Field Values

OF

static final java.lang.String OF
The constant for 'OF'.

See Also:
Constant Field Values

ON

static final java.lang.String ON
The constant for 'ON', which is an EclipseLink specific identifier that was added in version 2.4.

See Also:
Constant Field Values
Since:
2.4

OPERATOR

static final java.lang.String OPERATOR
The constant 'OPERATOR', which is an EclipseLink specific identifier that was added in version 2.4.

See Also:
Constant Field Values
Since:
2.4

OR

static final java.lang.String OR
The constant for 'OR'.

See Also:
Constant Field Values

ORDER_BY

static final java.lang.String ORDER_BY
The constant for 'ORDER BY'.

See Also:
Constant Field Values

OUTER

static final java.lang.String OUTER
The constant for 'OUTER'.

See Also:
Constant Field Values

PLUS

static final java.lang.String PLUS
The constant for for the plus sign '+'.

See Also:
Constant Field Values

POSITION

static final java.lang.String POSITION
The constant for 'POSITION', which is an unused keyword.

See Also:
Constant Field Values

POSITIONAL_PARAMETER

static final java.lang.String POSITIONAL_PARAMETER
The constant for '?'.

See Also:
Constant Field Values

QUOTE

static final java.lang.String QUOTE
The constant for single quote.

See Also:
Constant Field Values

REGEXP

static final java.lang.String REGEXP
The constant for 'REGEXP'.

See Also:
Constant Field Values
Since:
2.4

SELECT

static final java.lang.String SELECT
The constant for 'SELECT'.

See Also:
Constant Field Values

SET

static final java.lang.String SET
The constant for 'SET'.

See Also:
Constant Field Values

SIZE

static final java.lang.String SIZE
The constant for 'SIZE'.

See Also:
Constant Field Values

SOME

static final java.lang.String SOME
The constant for 'SOME'.

See Also:
Constant Field Values

SQL

static final java.lang.String SQL
The constant 'SQL', which is an EclipseLink specific identifier that was added in version 2.4.

See Also:
Constant Field Values
Since:
2.4

SQRT

static final java.lang.String SQRT
The constant for 'SQRT'.

See Also:
Constant Field Values

SUBSTRING

static final java.lang.String SUBSTRING
The constant for 'SUBSTRING'.

See Also:
Constant Field Values

SUM

static final java.lang.String SUM
The constant for 'SUM'.

See Also:
Constant Field Values

TABLE

static final java.lang.String TABLE
The constant for 'TABLE'.

See Also:
Constant Field Values
Since:
2.4

THEN

static final java.lang.String THEN
The constant for 'THEN'.

See Also:
Constant Field Values

TRAILING

static final java.lang.String TRAILING
The constant for 'TRAILING'.

See Also:
Constant Field Values

TREAT

static final java.lang.String TREAT
The constant for 'TREAT', which is an EclipseLink specific identifier that was added in version 2.1.

See Also:
Constant Field Values

TRIM

static final java.lang.String TRIM
The constant for 'TRIM'.

See Also:
Constant Field Values

TRUE

static final java.lang.String TRUE
The constant for 'TRUE'.

See Also:
Constant Field Values

TYPE

static final java.lang.String TYPE
The constant for 'TYPE'.

See Also:
Constant Field Values

UNION

static final java.lang.String UNION
The constant for 'UNION'.

See Also:
Constant Field Values
Since:
2.4

UNKNOWN

static final java.lang.String UNKNOWN
The constant for 'UNKNOWN', which is an unused keyword.

See Also:
Constant Field Values

UPDATE

static final java.lang.String UPDATE
The constant for 'UPDATE'.

See Also:
Constant Field Values

UPPER

static final java.lang.String UPPER
The constant for 'UPPER'.

See Also:
Constant Field Values

VALUE

static final java.lang.String VALUE
The constant for 'VALUE'.

See Also:
Constant Field Values

WHEN

static final java.lang.String WHEN
The constant for the identifier 'WHEN'.

See Also:
Constant Field Values

WHERE

static final java.lang.String WHERE
The constant for 'WHERE'.

See Also:
Constant Field Values
Method Detail

accept

void accept(ExpressionVisitor visitor)
Visits this Expression by the given visitor.

Parameters:
visitor - The ExpressionVisitor to visit this object

acceptChildren

void acceptChildren(ExpressionVisitor visitor)
Visits the children of this Expression. This method can be used to optimize traversing the children since a new list is not created every time children() is called.

This does not traverse the Expression sub-hierarchy, use a subclass of AbstractTraverseChildrenVisitor in order to traverse the entire sub-hierarchy.

Parameters:
visitor - The visitor to visit the children of this object.

children

IterableListIterator<Expression> children()
Returns the children of this Expression.

Returns:
The children of this Expression or an empty iterable iterator

findQueryBNF

JPQLQueryBNF findQueryBNF(Expression expression)
Retrieves the JPQLQueryBNF that represents the fragment of this Expression that was used when parsing the given Expression.

Parameters:
expression - The Expression that is a descendant of this one
Returns:
The JPQLQueryBNF that was used to parse the given expression
Since:
2.5

getGrammar

JPQLGrammar getGrammar()
Returns the JPQLGrammar that defines how the JPQL query was parsed.

Returns:
The JPQLGrammar that was used to parse this Expression
Since:
2.4

getLength

int getLength()
Returns the length of the string representation of this Expression, which is the length of the text generated by toActualText().

Returns:
The length of the string representation of this
Since:
2.4

getOffset

int getOffset()
Returns the position of this Expression within its parent hierarchy.

Returns:
The length of the string representation of what is coming before this object
Since:
2.4

getParent

Expression getParent()
Returns the parent of this Expression.

Returns:
The parent of this Expression, which is never null except for the root of the tree

getQueryBNF

JPQLQueryBNF getQueryBNF()
Returns the BNF of this Expression.

Returns:
The JPQLQueryBNF, which represents the grammar of this Expression
Since:
2.4

getRoot

JPQLExpression getRoot()
Retrieves the root node of the parsed tree hierarchy.

Returns:
The root of the Expression tree

isAncestor

boolean isAncestor(Expression expression)
Determines whether this Expression is a parent of the given Expression.

Parameters:
expression - The Expression to verify its paternity with this Expression
Returns:
true if this Expression is the same as the given Expression or one of its parent; false otherwise

orderedChildren

IterableListIterator<Expression> orderedChildren()
Returns the list representing this Expression and its children.

Returns:
The Expressions representing this Expression

populatePosition

void populatePosition(QueryPosition queryPosition,
                      int position)
Retrieves the Expression located at the given position using the actual query, which may have extra whitespace.

Parameters:
position - The array has one element and is the position of the Expression to retrieve

toActualText

java.lang.String toActualText()
Generates a string representation of this Expression, which needs 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.

Returns:
The string representation of this Expression

toParsedText

java.lang.String toParsedText()
Returns a string representation of this Expression and its children. The expression should contain whitespace even if the beautified version would not have any. For instance, "SELECT e " should be returned where toParsedText() would return "SELECT e".

Returns:
The string representation of this Expression

EclipseLink 2.4.2, build 'v20130514-5956486' API Reference