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 AbstractSingleEncapsulatedExpression

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

All Implemented Interfaces:
Expression
Direct Known Subclasses:
AbsExpression, AggregateFunction, AllOrAnyExpression, CoalesceExpression, ConcatExpression, EncapsulatedIdentificationVariableExpression, ExistsExpression, FuncExpression, IndexExpression, LengthExpression, LowerExpression, ObjectExpression, SizeExpression, SqrtExpression, SubExpression, TrimExpression, TypeExpression, UpperExpression

public abstract class AbstractSingleEncapsulatedExpression
extends AbstractEncapsulatedExpression

This expression handles parsing a JPQL identifier followed by an expression encapsulated within parenthesis.

BNF: expression ::= <identifier>(expression)
Since:
2.3
Version:
2.3
Author:
Pascal Filion

Field Summary
private  AbstractExpression expression
          The sub-expression encapsulated within parenthesis.
 
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
AbstractSingleEncapsulatedExpression(AbstractExpression parent)
          Creates a new EncapsulatedExpression.
 
Method Summary
 void acceptChildren(ExpressionVisitor visitor)
          Visits the children of this Expression.
(package private)  void addChildrenTo(java.util.Collection<Expression> children)
          Adds the children of this Expression to the given collection.
(package private)  void addOrderedEncapsulatedExpressionTo(java.util.List<StringExpression> children)
          Adds the StringExpressions representing the encapsulated Expression.
abstract  java.lang.String encapsulatedExpressionBNF()
          Returns the BNF used to parse the encapsulated expression.
 Expression getExpression()
          Returns the Expression that is encapsulated within parenthesis.
 boolean hasEncapsulatedExpression()
          Determines whether something was parsed after the left parenthesis.
 boolean hasExpression()
          Determines whether the encapsulated expression of the query was parsed.
(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 setExpression(AbstractExpression expression)
          Sets
(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.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, getQueryBNF, 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

expression

private AbstractExpression expression
The sub-expression encapsulated within parenthesis.
Constructor Detail

AbstractSingleEncapsulatedExpression

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

acceptChildren

public 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 Expression.children() or Expression.getChildren() is called.

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

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

addChildrenTo

final void addChildrenTo(java.util.Collection<Expression> children)
Adds the children of this Expression to the given collection.
Overrides:
addChildrenTo in class AbstractExpression
Parameters:
children - The collection used to store the children

addOrderedEncapsulatedExpressionTo

void addOrderedEncapsulatedExpressionTo(java.util.List<StringExpression> children)
Adds the StringExpressions representing the encapsulated Expression.
Specified by:
addOrderedEncapsulatedExpressionTo in class AbstractEncapsulatedExpression
Parameters:
children - The list used to store the string representation of the encapsulated Expression

encapsulatedExpressionBNF

public abstract java.lang.String encapsulatedExpressionBNF()
Returns the BNF used to parse the encapsulated expression.
Returns:
The BNF used to parse the encapsulated expression

getExpression

public final Expression getExpression()
Returns the Expression that is encapsulated within parenthesis.
Returns:
The Expression that is encapsulated within parenthesis

hasEncapsulatedExpression

public boolean hasEncapsulatedExpression()
Determines whether something was parsed after the left parenthesis.
Specified by:
hasEncapsulatedExpression in class AbstractEncapsulatedExpression
Returns:
true if something was parsed; false otherwise

hasExpression

public final boolean hasExpression()
Determines whether the encapsulated expression of the query was parsed.
Returns:
true if the encapsulated expression was parsed; false if it was not parsed

parseEncapsulatedExpression

void parseEncapsulatedExpression(WordParser wordParser,
                                 boolean tolerant)
Parses the encapsulated expression by starting at the current position, which is part of the given WordParser.
Specified by:
parseEncapsulatedExpression in class AbstractEncapsulatedExpression
Parameters:
wordParser - The text to parse based on the current position of the cursor
tolerant - Determines whether the parsing system should be tolerant, meaning if it should try to parse invalid or incomplete queries

setExpression

final void setExpression(AbstractExpression expression)
Sets
Parameters:
expression -

toParsedTextEncapsulatedExpression

void toParsedTextEncapsulatedExpression(java.lang.StringBuilder writer,
                                        boolean includeVirtual)
Generates a string representation of the encapsulated Expression.
Specified by:
toParsedTextEncapsulatedExpression in class AbstractEncapsulatedExpression
Parameters:
writer - The buffer used to append the encapsulated Expression's string representation
includeVirtual - 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

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