The available implementations of Token are primarily guided by the implementation of the tokenization
and the needs of the parser and included visitors. It does not distinguish all types of tokens. For example there is
QuotedIdentifierToken because the tokenization needs handling for
quoted identifiers, while a normal identifier is a GenericToken, because that is handled by the fallback
tokenization after checking for all other types. On the other hand, open and close curly braces, square brackets and
parentheses each have their own type, as the parser may need this to find nested contexts.
- Since:
- 5
- Author:
- Mark Rotteveel
-
Method Summary
Modifier and TypeMethodDescriptiondefault voidAppends the current token to the supplied String builder.default booleanequalsIgnoreCase(String tokenText) Case-insensitive equality of this tokens text using an equivalent ofString.equalsIgnoreCase(String).default booleanDetects if the token is valid as an identifier (ignoring length constraints).default booleanintlength()Token text length.intposition()Token position.text()Token text.default CharSequenceToken text asCharSequence.
-
Method Details
-
text
String text()Token text.- Returns:
- the text of the token; this is the original text from the source
- See Also:
-
textAsCharSequence
Token text asCharSequence.Default implementation returns
text(). As an optimization, implementations may return their containedCharSequenceto avoid unnecessary conversion to string.- Returns:
- the text of the token; this is the original text from the source
- See Also:
-
appendTo
Appends the current token to the supplied String builder.- Parameters:
sb- String builder to append to
-
position
int position()Token position.- Returns:
- 0-based position of the occurrence of this token in the source (the first character)
-
length
int length()Token text length.- Returns:
- Length of the token text
-
isWhitespaceOrComment
default boolean isWhitespaceOrComment()- Returns:
trueif this token is whitespace or a comment,falsefor all other tokens
-
equalsIgnoreCase
Case-insensitive equality of this tokens text using an equivalent ofString.equalsIgnoreCase(String).- Parameters:
tokenText- Token text to compare- Returns:
trueiftokenTextis equal - ignoring case - to the text of this token,falseotherwise
-
isValidIdentifier
default boolean isValidIdentifier()Detects if the token is valid as an identifier (ignoring length constraints).This will always return
falseforReservedTokenor other specialised tokens (e.g.OperatorTokenwithISorLIKE) that can't occur as an identifier.- Returns:
trueif the token is valid as an identifier,falseotherwise
-