Interface Expression
-
- All Known Implementing Classes:
AbsExpression
,AbstractConditionalClause
,AbstractDoubleEncapsulatedExpression
,AbstractEncapsulatedExpression
,AbstractExpression
,AbstractFromClause
,AbstractOrderByClause
,AbstractPathExpression
,AbstractSchemaName
,AbstractSelectClause
,AbstractSelectStatement
,AbstractSingleEncapsulatedExpression
,AbstractTripleEncapsulatedExpression
,AdditionExpression
,AggregateFunction
,AllOrAnyExpression
,AndExpression
,ArithmeticExpression
,ArithmeticFactor
,AsOfClause
,AvgFunction
,BadExpression
,BetweenExpression
,CaseExpression
,CastExpression
,CoalesceExpression
,CollectionExpression
,CollectionMemberDeclaration
,CollectionMemberExpression
,CollectionValuedPathExpression
,ComparisonExpression
,CompoundExpression
,ConcatExpression
,ConnectByClause
,ConstructorExpression
,CountFunction
,DatabaseType
,DateTime
,DefaultStringExpression
,DeleteClause
,DeleteStatement
,DivisionExpression
,EmptyCollectionComparisonExpression
,EncapsulatedIdentificationVariableExpression
,EntityTypeLiteral
,EntryExpression
,ExistsExpression
,ExtractExpression
,FromClause
,FunctionExpression
,GroupByClause
,HavingClause
,HierarchicalQueryClause
,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
,OrderSiblingsByClause
,OrExpression
,RangeVariableDeclaration
,RegexpExpression
,ResultVariable
,SelectClause
,SelectStatement
,SimpleFromClause
,SimpleSelectClause
,SimpleSelectStatement
,SizeExpression
,SqrtExpression
,StartWithClause
,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 theJPQL 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.5
- See Also:
JPQLGrammar
- Author:
- Pascal Filion
- Since:
- 2.3
-
-
Field Summary
Fields Modifier and Type Field Description 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
AS_OF
The constant for 'AS OF'.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
CONNECT_BY
The constant for 'CONNECT BY'.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
FIRST
The constant for 'FIRST'.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
LAST
The constant for 'LAST'.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
The constant for 'NULLS'.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
ORDER_SIBLINGS_BY
The constant for 'ORDER SIBLINGS 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
SCN
The constant for 'SCN'.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
START_WITH
The constant for 'WHERE'.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
TIMESTAMP
The constant for 'TIMESTAMP'.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
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
accept(ExpressionVisitor visitor)
Visits thisExpression
by the givenvisitor
.void
acceptChildren(ExpressionVisitor visitor)
Visits the children of thisExpression
.ListIterable<Expression>
children()
Returns the children of thisExpression
.JPQLQueryBNF
findQueryBNF(Expression expression)
Retrieves theJPQLQueryBNF
that represents the fragment of thisExpression
that was used when parsing the givenExpression
.JPQLGrammar
getGrammar()
Returns theJPQLGrammar
that defines how the JPQL query was parsed.int
getLength()
Returns the length of the string representation of thisExpression
, which is the length of the text generated bytoActualText()
.int
getOffset()
Returns the position of thisExpression
within its parent hierarchy.Expression
getParent()
Returns the parent of thisExpression
.JPQLQueryBNF
getQueryBNF()
Returns the BNF of thisExpression
.JPQLExpression
getRoot()
Retrieves the root node of the parsed tree hierarchy.boolean
isAncestor(Expression expression)
Determines whether thisExpression
is a parent of the givenExpression
.ListIterable<Expression>
orderedChildren()
Returns the list representing thisExpression
and its children.void
populatePosition(QueryPosition queryPosition, int position)
Retrieves theExpression
located at the given position using the actual query, which may have extra whitespace.java.lang.String
toActualText()
Generates a string representation of thisExpression
, 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 thisExpression
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
-
AS_OF
static final java.lang.String AS_OF
The constant for 'AS OF'.- See Also:
- Constant Field Values
- Since:
- 2.5
-
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
-
CONNECT_BY
static final java.lang.String CONNECT_BY
The constant for 'CONNECT BY'.- See Also:
- Constant Field Values
- Since:
- 2.5
-
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
-
FIRST
static final java.lang.String FIRST
The constant for 'FIRST'.- See Also:
- Constant Field Values
- Since:
- 2.5
-
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
-
LAST
static final java.lang.String LAST
The constant for 'LAST'.- See Also:
- Constant Field Values
- Since:
- 2.5
-
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
static final java.lang.String NULLS
The constant for 'NULLS'.- See Also:
- Constant Field Values
- Since:
- 2.5
-
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
-
ORDER_SIBLINGS_BY
static final java.lang.String ORDER_SIBLINGS_BY
The constant for 'ORDER SIBLINGS BY'.- See Also:
- Constant Field Values
- Since:
- 2.5
-
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
-
SCN
static final java.lang.String SCN
The constant for 'SCN'.- See Also:
- Constant Field Values
- Since:
- 2.5
-
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
-
START_WITH
static final java.lang.String START_WITH
The constant for 'WHERE'.- 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
-
TIMESTAMP
static final java.lang.String TIMESTAMP
The constant for 'TIMESTAMP'.- See Also:
- Constant Field Values
- Since:
- 2.5
-
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 thisExpression
by the givenvisitor
.- Parameters:
visitor
- TheExpressionVisitor
to visit this object
-
acceptChildren
void acceptChildren(ExpressionVisitor visitor)
Visits the children of thisExpression
. This method can be used to optimize traversing the children since a new list is not created every timechildren()
is called.This does not traverse the
Expression
sub-hierarchy, use a subclass ofAbstractTraverseChildrenVisitor
in order to traverse the entire sub-hierarchy.- Parameters:
visitor
- Thevisitor
to visit the children of this object.
-
children
ListIterable<Expression> children()
Returns the children of thisExpression
.- Returns:
- The children of this
Expression
or an emptyListIterable
-
findQueryBNF
JPQLQueryBNF findQueryBNF(Expression expression)
Retrieves theJPQLQueryBNF
that represents the fragment of thisExpression
that was used when parsing the givenExpression
.- Parameters:
expression
- TheExpression
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 theJPQLGrammar
that defines how the JPQL query was parsed.- Returns:
- The
JPQLGrammar
that was used to parse thisExpression
- Since:
- 2.4
-
getLength
int getLength()
Returns the length of the string representation of thisExpression
, which is the length of the text generated bytoActualText()
.- Returns:
- The length of the string representation of this
Expression
- Since:
- 2.4
-
getOffset
int getOffset()
Returns the position of thisExpression
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 thisExpression
.- Returns:
- The parent of this
Expression
, which is nevernull
except for the root of the tree
-
getQueryBNF
JPQLQueryBNF getQueryBNF()
Returns the BNF of thisExpression
.- Returns:
- The
JPQLQueryBNF
, which represents the grammar of thisExpression
- 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 thisExpression
is a parent of the givenExpression
.- Parameters:
expression
- TheExpression
to verify its paternity with thisExpression
- Returns:
true
if thisExpression
is the same as the givenExpression
or one of its parent;false
otherwise
-
orderedChildren
ListIterable<Expression> orderedChildren()
Returns the list representing thisExpression
and its children.- Returns:
- The
Expressions
representing thisExpression
-
populatePosition
void populatePosition(QueryPosition queryPosition, int position)
Retrieves theExpression
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 theExpression
to retrieve
-
toActualText
java.lang.String toActualText()
Generates a string representation of thisExpression
, 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 thisExpression
and its children. The expression should contain whitespace even if the beautified version would not have any. For instance, "SELECT e " should be returned wheretoParsedText()
would return "SELECT e".- Returns:
- The string representation of this
Expression
-
-