Oracle Fusion Middleware Java API Reference for Oracle TopLink
11g Release 1 (11.1.1)

E28847-01


org.eclipse.persistence.jpa.internal.jpql.parser
Class IndexExpression

java.lang.Object
  extended by org.eclipse.persistence.jpa.internal.jpql.parser.StringExpression
      extended by org.eclipse.persistence.jpa.internal.jpql.parser.AbstractExpression
          extended by org.eclipse.persistence.jpa.internal.jpql.parser.AbstractEncapsulatedExpression
              extended by org.eclipse.persistence.jpa.internal.jpql.parser.AbstractSingleEncapsulatedExpression
                  extended by org.eclipse.persistence.jpa.internal.jpql.parser.IndexExpression

All Implemented Interfaces:
Expression

public final class IndexExpression
extends AbstractSingleEncapsulatedExpression

The INDEX function returns an integer value corresponding to the position of its argument in an ordered list. The INDEX function can only be applied to identification variables denoting types for which an order column has been specified.

BNF: expression ::= INDEX(identification_variable)
Since:
2.3
Version:
2.3
Author:
Pascal Filion

Field Summary
 
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
 
Fields inherited from interface org.eclipse.persistence.jpa.internal.jpql.parser.Expression
ABS, ALL, AND, ANY, AS, ASC, AVG, BETWEEN, BIT_LENGTH, BOTH, CASE, CHAR_LENGTH, CHARACTER_LENGTH, CLASS, COALESCE, CONCAT, COUNT, CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP, DELETE, DELETE_FROM, DESC, DIFFERENT, DISTINCT, DIVISION, ELSE, EMPTY, END, ENTRY, EQUAL, ESCAPE, EXISTS, FALSE, FETCH, FROM, FUNC, GREATER_THAN, GREATER_THAN_OR_EQUAL, GROUP_BY, HAVING, IN, INDEX, INNER, INNER_JOIN, INNER_JOIN_FETCH, IS, IS_EMPTY, IS_NOT_EMPTY, IS_NOT_NULL, IS_NULL, JOIN, JOIN_FETCH, KEY, LEADING, LEFT, LEFT_JOIN, LEFT_JOIN_FETCH, LEFT_OUTER_JOIN, LEFT_OUTER_JOIN_FETCH, LENGTH, LIKE, LOCATE, LOWER, LOWER_THAN, LOWER_THAN_OR_EQUAL, MAX, MEMBER, MEMBER_OF, MIN, MINUS, MOD, MULTIPLICATION, NAMED_PARAMETER, NEW, NOT, NOT_BETWEEN, NOT_EXISTS, NOT_IN, NOT_LIKE, NOT_MEMBER, NOT_MEMBER_OF, NULL, NULLIF, OBJECT, OF, OR, ORDER_BY, OUTER, PLUS, POSITION, POSITIONAL_PARAMETER, QUOTE, SELECT, SET, SIZE, SOME, SQRT, SUBSTRING, SUM, THEN, TRAILING, TREAT, TRIM, TRUE, TYPE, UNKNOWN, UPDATE, UPPER, VALUE, WHEN, WHERE
 
Constructor Summary
IndexExpression(AbstractExpression parent)
          Creates a new IndexExpression.
 
Method Summary
 void accept(ExpressionVisitor visitor)
          Visits this Expression by the given visitor.
 java.lang.String encapsulatedExpressionBNF()
          Returns the BNF used to parse the encapsulated expression.
 JPQLQueryBNF getQueryBNF()
          Returns the BNF of this Expression.
(package private)  AbstractExpression parse(WordParser wordParser, JPQLQueryBNF queryBNF, boolean tolerant)
          Parses the given text by using the specified BNF.
(package private)  java.lang.String parseIdentifier(WordParser wordParser)
          Parses the identifier of this expression.
 
Methods inherited from class org.eclipse.persistence.jpa.internal.jpql.parser.AbstractSingleEncapsulatedExpression
acceptChildren, addChildrenTo, addOrderedEncapsulatedExpressionTo, getExpression, hasEncapsulatedExpression, hasExpression, parseEncapsulatedExpression, setExpression, toParsedTextEncapsulatedExpression
 
Methods inherited from class org.eclipse.persistence.jpa.internal.jpql.parser.AbstractEncapsulatedExpression
addOrderedChildrenTo, areLogicalIdentifiersSupported, getIdentifier, hasLeftParenthesis, hasRightParenthesis, isParsingComplete, parse, 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, 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
 

Constructor Detail

IndexExpression

IndexExpression(AbstractExpression parent)
Creates a new IndexExpression.
Parameters:
parent - The parent of this expression
Method Detail

accept

public void accept(ExpressionVisitor visitor)
Visits this Expression by the given visitor.
Parameters:
visitor - The visitor to visit this object

encapsulatedExpressionBNF

public java.lang.String encapsulatedExpressionBNF()
Returns the BNF used to parse the encapsulated expression.
Specified by:
encapsulatedExpressionBNF in class AbstractSingleEncapsulatedExpression
Returns:
The BNF used to parse the encapsulated expression

getQueryBNF

public JPQLQueryBNF getQueryBNF()
Returns the BNF of this Expression.
Specified by:
getQueryBNF in class AbstractExpression
Returns:
The JPQLQueryBNF, which represents the grammar of this Expression

parse

AbstractExpression parse(WordParser wordParser,
                         JPQLQueryBNF queryBNF,
                         boolean tolerant)
Parses the given text by using the specified BNF.
Overrides:
parse in class AbstractExpression
Parameters:
wordParser - The text to parse based on the current position of the cursor
queryBNF - The grammar used to retrieve the possible expression factories
tolerant - Determines whether the parsing system should be tolerant, meaning if it should try to parse invalid or incomplete queries
Returns:
The Expression representing the given sub-query

parseIdentifier

java.lang.String parseIdentifier(WordParser wordParser)
Parses the identifier of this expression.
Specified by:
parseIdentifier in class AbstractEncapsulatedExpression
Returns:
The identifier for this expression

Copyright © 1998, 2012, Oracle. All Rights Reserved.