public final class StringLiteral extends AbstractExpression
TRUE
and FALSE
. Although predefined reserved literals appear in upper case, they are case
insensitive.COMMA, DOT, DOUBLE_QUOTE, LEFT_CURLY_BRACKET, LEFT_PARENTHESIS, NOT_DEFINED, RIGHT_CURLY_BRACKET, RIGHT_PARENTHESIS, SINGLE_QUOTE, SPACE, UNDERSCORE
ABS, ALL, AND, ANY, AS, AS_OF, ASC, AVG, BETWEEN, BIT_LENGTH, BOTH, CASE, CAST, CHAR_LENGTH, CHARACTER_LENGTH, CLASS, COALESCE, COLUMN, CONCAT, CONNECT_BY, 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, FIRST, 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, LAST, 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, NULLS_FIRST, NULLS_LAST, OBJECT, OF, ON, OPERATOR, OR, ORDER_BY, ORDER_SIBLINGS_BY, OUTER, PLUS, POSITION, POSITIONAL_PARAMETER, QUOTE, REGEXP, SCN, SELECT, SET, SIZE, SOME, SQL, SQRT, START_WITH, SUBSTRING, SUM, TABLE, THEN, TIMESTAMP, TRAILING, TREAT, TRIM, TRUE, TYPE, UNION, UNKNOWN, UPDATE, UPPER, VALUE, WHEN, WHERE
Constructor and Description |
---|
StringLiteral(AbstractExpression parent,
java.lang.String literal)
Creates a new
StringLiteral . |
Modifier and Type | Method and Description |
---|---|
void |
accept(ExpressionVisitor visitor)
Visits this
Expression by the given visitor . |
void |
acceptChildren(ExpressionVisitor visitor)
Visits the children of this
Expression . |
protected void |
addOrderedChildrenTo(java.util.List<Expression> children)
Adds the children of this
AbstractExpression to the given list. |
JPQLQueryBNF |
getQueryBNF()
Returns the BNF of this
Expression . |
java.lang.String |
getText()
Returns the encapsulated text of this
AbstractExpression , which can be used in various
ways, it can be a keyword, a literal, etc. |
java.lang.String |
getUnquotedText()
Returns the string literal without the single quotes.
|
boolean |
hasCloseQuote()
Determines whether the closing quote was present or not.
|
protected void |
parse(WordParser wordParser,
boolean tolerant)
Parses the query by starting at the current position, which is part of the given
WordParser . |
java.lang.String |
toActualText()
Generates a string representation of this
Expression , 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 this
Expression and its children. |
protected void |
toParsedText(java.lang.StringBuilder writer,
boolean actual)
Generates a string representation of this
Expression , including its children,
if it has any. |
acceptUnknownVisitor, acceptUnknownVisitor, addChildrenTo, buildExpressionFromFallingBack, buildNullExpression, buildStringExpression, buildStringExpression, buildUnknownExpression, calculatePosition, children, findFallBackExpressionFactory, findQueryBNF, getExpressionFactory, getExpressionRegistry, getGrammar, getIdentifierVersion, getJPAVersion, getLength, getOffset, getParent, getQueryBNF, getRoot, handleAggregate, handleCollection, isAncestor, isIdentifier, isNull, isParsingComplete, isTolerant, isUnknown, isVirtual, orderedChildren, parse, parseUsingExpressionFactory, populatePosition, rebuildActualText, rebuildParsedText, setParent, setText, shouldParseWithFactoryFirst, shouldSkipLiteral, toString
public StringLiteral(AbstractExpression parent, java.lang.String literal)
StringLiteral
.parent
- The parent of this expressionliteral
- The string literalpublic void accept(ExpressionVisitor visitor)
Expression
by the given visitor
.visitor
- The ExpressionVisitor
to visit this objectpublic void acceptChildren(ExpressionVisitor visitor)
Expression
. This method can be used to optimize traversing
the children since a new list is not created every time Expression.children()
is called.
This does not traverse the Expression
sub-hierarchy, use a subclass of
AbstractTraverseChildrenVisitor
in order to traverse the entire sub-hierarchy.
visitor
- The visitor
to visit the children of this object.protected void addOrderedChildrenTo(java.util.List<Expression> children)
AbstractExpression
to the given list.addOrderedChildrenTo
in class AbstractExpression
children
- The list used to store the string representation of this AbstractExpression
public JPQLQueryBNF getQueryBNF()
Expression
.JPQLQueryBNF
, which represents the grammar of this Expression
public java.lang.String getText()
AbstractExpression
, which can be used in various
ways, it can be a keyword, a literal, etc.getText
in class AbstractExpression
AbstractExpression
, the literal it
encapsulates or an empty stringpublic java.lang.String getUnquotedText()
public boolean hasCloseQuote()
true
if the literal is ended by a single quote; false
otherwiseprotected void parse(WordParser wordParser, boolean tolerant)
WordParser
.parse
in class AbstractExpression
wordParser
- The text to parse based on the current position of the cursortolerant
- Determines whether the parsing system should be tolerant, meaning if it should
try to parse invalid or incomplete queriespublic java.lang.String toActualText()
Expression
, 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.toActualText
in interface Expression
toActualText
in class AbstractExpression
Expression
public java.lang.String toParsedText()
Expression
and its children. The expression
should contain whitespace even if the beautified version would not have any. For instance,
"SELECT e " should be returned where Expression.toParsedText()
would return "SELECT e".toParsedText
in interface Expression
toParsedText
in class AbstractExpression
Expression
protected void toParsedText(java.lang.StringBuilder writer, boolean actual)
Expression
, including its children,
if it has any.toParsedText
in class AbstractExpression
writer
- The buffer used to append this Expression
's string representationactual
- Determines whether the string representation should represent what was parsed,
i.e. include any "virtual" whitespace (such as ending whitespace) and the actual case of the
JPQL identifiers