|
EclipseLink 2.4.2, build 'v20130514-5956486' API Reference | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.eclipse.persistence.jpa.jpql.parser.AbstractExpression org.eclipse.persistence.jpa.jpql.parser.AbstractEncapsulatedExpression org.eclipse.persistence.jpa.jpql.parser.AbstractSingleEncapsulatedExpression org.eclipse.persistence.jpa.jpql.parser.FunctionExpression
public final class FunctionExpression
This expression adds support to call native database functions.
New to JPA 2.1.
func_expression ::= <identifier>('function_name' {, func_item}*)
Field Summary |
---|
Fields inherited from class org.eclipse.persistence.jpa.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 | |
---|---|
FunctionExpression(AbstractExpression parent,
java.lang.String identifier)
Creates a new FuncExpression . |
|
FunctionExpression(AbstractExpression parent,
java.lang.String identifier,
FunctionExpressionFactory.ParameterCount parameterCount,
java.lang.String parameterQueryBNFId)
Creates a new FunctionExpression . |
Method Summary | |
---|---|
void |
accept(ExpressionVisitor visitor)
Visits this Expression by the given visitor . |
protected void |
addOrderedEncapsulatedExpressionTo(java.util.List<Expression> children)
Adds the Expressions representing the encapsulated Expression . |
java.lang.String |
encapsulatedExpressionBNF()
Returns the BNF used to parse the encapsulated expression. |
java.lang.String |
getFunctionName()
Returns the name of the SQL function. |
FunctionExpressionFactory.ParameterCount |
getParameterCount()
Returns the number of parameters a FunctionExpression can have, which will be during
validation. |
JPQLQueryBNF |
getQueryBNF()
Returns the BNF of this Expression . |
java.lang.String |
getUnquotedFunctionName()
Returns the name of the SQL function. |
boolean |
hasComma()
Determines whether the comma was parsed after the function name. |
boolean |
hasEncapsulatedExpression()
Determines whether something was parsed after the left parenthesis. |
boolean |
hasFunctionName()
Determines whether the function name was parsed. |
boolean |
hasSpaceAfterComma()
Determines whether a whitespace was parsed after the comma. |
protected void |
parseEncapsulatedExpression(WordParser wordParser,
int whitespaceCount,
boolean tolerant)
Parses the encapsulated expression by starting at the current position, which is part of the given WordParser . |
protected java.lang.String |
parseIdentifier(WordParser wordParser)
Parses the identifier of this expression. |
protected void |
toParsedTextEncapsulatedExpression(java.lang.StringBuilder writer,
boolean actual)
Generates a string representation of the encapsulated Expression . |
Methods inherited from class org.eclipse.persistence.jpa.jpql.parser.AbstractSingleEncapsulatedExpression |
---|
acceptChildren, addChildrenTo, findQueryBNF, getExpression, hasExpression, removeEncapsulatedExpression, setExpression |
Methods inherited from class org.eclipse.persistence.jpa.jpql.parser.AbstractEncapsulatedExpression |
---|
addOrderedChildrenTo, areLogicalIdentifiersSupported, getActualIdentifier, getIdentifier, hasLeftParenthesis, hasRightParenthesis, hasSpaceAfterIdentifier, isParsingComplete, parse, shouldParseRightParenthesis, toParsedText |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public FunctionExpression(AbstractExpression parent, java.lang.String identifier)
FuncExpression
.
parent
- The parent of this expressionidentifier
- The JPQL identifierpublic FunctionExpression(AbstractExpression parent, java.lang.String identifier, FunctionExpressionFactory.ParameterCount parameterCount, java.lang.String parameterQueryBNFId)
FunctionExpression
.
parent
- The parent of this expressionidentifier
- The JPQL identifierparameterCount
- The number of parameters
a FunctionExpression
can haveparameterQueryBNFId
- The unique identifier of the JPQLQueryBNF
that will be used
to parse the arguments of the function expressionMethod Detail |
---|
public void accept(ExpressionVisitor visitor)
Expression
by the given visitor
.
visitor
- The ExpressionVisitor
to visit this objectprotected void addOrderedEncapsulatedExpressionTo(java.util.List<Expression> children)
Expressions
representing the encapsulated Expression
.
addOrderedEncapsulatedExpressionTo
in class AbstractSingleEncapsulatedExpression
children
- The list used to store the string representation of the encapsulated Expression
public java.lang.String encapsulatedExpressionBNF()
encapsulatedExpressionBNF
in class AbstractSingleEncapsulatedExpression
public java.lang.String getFunctionName()
public FunctionExpressionFactory.ParameterCount getParameterCount()
FunctionExpression
can have, which will be during
validation.
public JPQLQueryBNF getQueryBNF()
Expression
.
JPQLQueryBNF
, which represents the grammar of this Expression
public java.lang.String getUnquotedFunctionName()
public boolean hasComma()
true
if a comma was parsed after the function name and the first
expression; false
otherwisepublic boolean hasEncapsulatedExpression()
hasEncapsulatedExpression
in class AbstractSingleEncapsulatedExpression
true
if something was parsed; false
otherwisepublic boolean hasFunctionName()
true
if the function name was parsed; false
otherwisepublic boolean hasSpaceAfterComma()
true
if there was a whitespace after the comma; false
otherwiseprotected void parseEncapsulatedExpression(WordParser wordParser, int whitespaceCount, boolean tolerant)
WordParser
.
parseEncapsulatedExpression
in class AbstractSingleEncapsulatedExpression
wordParser
- The text to parse based on the current position of the cursorwhitespaceCount
- The number of whitespace characters that were parsed after '('tolerant
- Determines whether the parsing system should be tolerant, meaning if it should
try to parse invalid or incomplete queriesprotected java.lang.String parseIdentifier(WordParser wordParser)
parseIdentifier
in class AbstractEncapsulatedExpression
protected void toParsedTextEncapsulatedExpression(java.lang.StringBuilder writer, boolean actual)
Expression
.
toParsedTextEncapsulatedExpression
in class AbstractSingleEncapsulatedExpression
writer
- The buffer used to append the encapsulated Expression
's string
representationactual
- 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
|
EclipseLink 2.4.2, build 'v20130514-5956486' API Reference | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |