public final class SubstringExpression extends AbstractTripleEncapsulatedExpression
JPA 1.0:
SUBSTRING(string_primary, simple_arithmetic_expression, simple_arithmetic_expression)
JPA 2.0:
SUBSTRING(string_primary, simple_arithmetic_expression [, simple_arithmetic_expression])
JPA 2.1:
SUBSTRING(string_expression, arithmetic_expression [, arithmetic_expression])
parameterIndexCOMMA, DOT, DOUBLE_QUOTE, LEFT_CURLY_BRACKET, LEFT_PARENTHESIS, NOT_DEFINED, RIGHT_CURLY_BRACKET, RIGHT_PARENTHESIS, SINGLE_QUOTE, SPACE, UNDERSCOREABS, ALL, AND, ANY, AS, ASC, AVG, BETWEEN, BIT_LENGTH, BOTH, CASE, CAST, CHAR_LENGTH, CHARACTER_LENGTH, CLASS, COALESCE, COLUMN, CONCAT, COUNT, CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP, DELETE, DELETE_FROM, DESC, DIFFERENT, DISTINCT, DIVISION, ELSE, EMPTY, END, ENTRY, EQUAL, ESCAPE, EXCEPT, EXISTS, EXTRACT, FALSE, FETCH, FROM, FUNC, FUNCTION, GREATER_THAN, GREATER_THAN_OR_EQUAL, GROUP_BY, HAVING, IN, INDEX, INNER, INNER_JOIN, INNER_JOIN_FETCH, INTERSECT, 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_EQUAL, NOT_EXISTS, NOT_IN, NOT_LIKE, NOT_MEMBER, NOT_MEMBER_OF, NULL, NULLIF, NULLS_FIRST, NULLS_LAST, OBJECT, OF, ON, OPERATOR, OR, ORDER_BY, OUTER, PLUS, POSITION, POSITIONAL_PARAMETER, QUOTE, REGEXP, SELECT, SET, SIZE, SOME, SQL, SQRT, SUBSTRING, SUM, TABLE, THEN, TRAILING, TREAT, TRIM, TRUE, TYPE, UNION, UNKNOWN, UPDATE, UPPER, VALUE, WHEN, WHERE| Constructor and Description |
|---|
SubstringExpression(AbstractExpression parent)
Creates a new
SubstringExpression. |
| Modifier and Type | Method and Description |
|---|---|
void |
accept(ExpressionVisitor visitor)
Visits this
Expression by the given visitor. |
JPQLQueryBNF |
getQueryBNF()
Returns the BNF of this
Expression. |
protected boolean |
isThirdExpressionOptional()
Determines whether the third expression is an optional expression, which means a valid query
can have it or not.
|
java.lang.String |
parameterExpressionBNF(int index)
Returns the BNF to be used to parse one of the encapsulated expression.
|
protected java.lang.String |
parseIdentifier(WordParser wordParser)
Parses the identifier of this expression.
|
acceptChildren, addChildrenTo, addOrderedEncapsulatedExpressionTo, buildCollectionExpression, findQueryBNF, getFirstExpression, getSecondExpression, getThirdExpression, hasEncapsulatedExpression, hasFirstComma, hasFirstExpression, hasSecondComma, hasSecondExpression, hasSpaceAfterFirstComma, hasSpaceAfterSecondComma, hasThirdExpression, isParsingComplete, parseEncapsulatedExpression, removeEncapsulatedExpression, toParsedTextEncapsulatedExpressionaddOrderedChildrenTo, areLogicalIdentifiersSupported, getActualIdentifier, getIdentifier, hasLeftParenthesis, hasRightParenthesis, hasSpaceAfterIdentifier, parse, shouldParseRightParenthesis, toParsedTextacceptUnknownVisitor, acceptUnknownVisitor, buildExpressionFromFallingBack, buildNullExpression, buildStringExpression, buildStringExpression, buildUnknownExpression, calculatePosition, children, findFallBackExpressionFactory, getExpressionFactory, getExpressionRegistry, getGrammar, getIdentifierVersion, getJPAVersion, getLength, getOffset, getParent, getQueryBNF, getRoot, getText, handleAggregate, handleCollection, isAncestor, isIdentifier, isNull, isTolerant, isUnknown, isVirtual, orderedChildren, parse, parseUsingExpressionFactory, populatePosition, rebuildActualText, rebuildParsedText, setParent, setText, shouldParseWithFactoryFirst, shouldSkipLiteral, toActualText, toParsedText, toStringpublic SubstringExpression(AbstractExpression parent)
SubstringExpression.parent - The parent of this expressionpublic void accept(ExpressionVisitor visitor)
Expression by the given visitor.visitor - The ExpressionVisitor to visit this objectpublic JPQLQueryBNF getQueryBNF()
Expression.JPQLQueryBNF, which represents the grammar of this Expressionprotected boolean isThirdExpressionOptional()
isThirdExpressionOptional in class AbstractTripleEncapsulatedExpressiontrue if the third expression can either be present or not in a valid
query; false if it's mandatorypublic java.lang.String parameterExpressionBNF(int index)
parameterExpressionBNF in class AbstractTripleEncapsulatedExpressionindex - The position of the encapsulated Expression that needs to be parsed
within the parenthesis, which starts at position 0protected java.lang.String parseIdentifier(WordParser wordParser)
parseIdentifier in class AbstractEncapsulatedExpression