java.lang.Object
org.firebirdsql.jaybird.parser.SqlParser
- All Implemented Interfaces:
VisitorRegistrar
Simple visiting SQL parser.
This parser is not thread-safe.
- Since:
- 5
-
Nested Class Summary
Nested Classes -
Method Summary
Modifier and TypeMethodDescriptionadd
(TokenVisitor tokenVisitor) Fluent variant ofaddVisitor(TokenVisitor)
.void
addVisitor
(TokenVisitor tokenVisitor) Adds a visitor.boolean
boolean
boolean
void
parse()
Starts parsing of the statement text.void
removeVisitor
(TokenVisitor tokenVisitor) Removes a visitor - if already registered.void
Start or resume parsing of the statement text.static SqlParser.Builder
withReservedWords
(ReservedWords reservedWords) Creates a builder for a SQL parser with a supplier of reserved words.
-
Method Details
-
withReservedWords
Creates a builder for a SQL parser with a supplier of reserved words.- Parameters:
reservedWords
- Reserved words- Returns:
- builder to complete initialization of a SQL parser
-
parse
public void parse()Starts parsing of the statement text.- Throws:
IllegalStateException
- Whenparse()
has already been parsed, or there are no registered visitors.- See Also:
-
resumeParsing
public void resumeParsing()Start or resume parsing of the statement text.If the parsing process previously stalled because there were no more visitors, this continues parsing at the point the parser previously stopped. If parsing was not yet started (e.g. using
parse()
), it will start.- Throws:
IllegalStateException
- When parsing was already completed, parsing is already in progress, or there are no registered visitors- See Also:
-
isStarted
public boolean isStarted() -
isParsing
public boolean isParsing() -
isCompleted
public boolean isCompleted() -
add
Fluent variant ofaddVisitor(TokenVisitor)
.- Parameters:
tokenVisitor
- token visitor to add- Returns:
- this SQL parser
-
addVisitor
Description copied from interface:VisitorRegistrar
Adds a visitor.- Specified by:
addVisitor
in interfaceVisitorRegistrar
- Parameters:
tokenVisitor
- Token visitor
-
removeVisitor
Description copied from interface:VisitorRegistrar
Removes a visitor - if already registered.- Specified by:
removeVisitor
in interfaceVisitorRegistrar
- Parameters:
tokenVisitor
- Token visitor
-