Class Tokenizer


  • public final class Tokenizer
    extends java.lang.Object
    Tokenizer.
    • Constructor Summary

      Constructors 
      Constructor Description
      Tokenizer​(CastDataProvider provider, boolean identifiersToUpper, boolean identifiersToLower, java.util.BitSet nonKeywords)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      private static int assignParameterIndex​(java.util.ArrayList<Token> tokens, int lastParameter)  
      private java.lang.String convertCase​(java.lang.String s)  
      private static boolean eq​(java.lang.String expected, java.lang.String s, int start, int length)  
      private static boolean eqCurrent​(java.lang.String expected, java.lang.String s, int start, int length)  
      private java.lang.String extractIdentifier​(java.lang.String sql, int beginIndex, int endIndex)  
      private int findIdentifierEnd​(java.lang.String sql, int end, int i)  
      private static int finishBigInteger​(java.lang.String sql, int tokenStart, int end, int i, int start, boolean asBigint, int radix, java.util.ArrayList<Token> tokens)  
      private static int getTokenTypeCurrent​(java.lang.String s, int tokenStart, int length)  
      private static int parseParameterIndex​(java.lang.String sql, int end, int i, java.util.ArrayList<Token> tokens)  
      private static void processUescape​(java.lang.String sql, java.util.ArrayList<Token> tokens)  
      private int read_​(java.lang.String sql, int end, int tokenStart, int i, java.util.ArrayList<Token> tokens)  
      private int readA​(java.lang.String sql, int end, int tokenStart, int i, java.util.ArrayList<Token> tokens)  
      private int readB​(java.lang.String sql, int end, int tokenStart, int i, java.util.ArrayList<Token> tokens)  
      private static int readBinaryString​(java.lang.String sql, int tokenStart, int end, int i, java.util.ArrayList<Token> tokens)  
      private int readC​(java.lang.String sql, int end, int tokenStart, int i, java.util.ArrayList<Token> tokens)  
      private static int readCharacterString​(java.lang.String sql, int tokenStart, int end, int i, boolean unicode, java.util.ArrayList<Token> tokens)  
      private int readD​(java.lang.String sql, int end, int tokenStart, int i, java.util.ArrayList<Token> tokens)  
      private int readE​(java.lang.String sql, int end, int tokenStart, int i, java.util.ArrayList<Token> tokens)  
      private int readF​(java.lang.String sql, int end, int tokenStart, int i, java.util.ArrayList<Token> tokens)  
      private int readG​(java.lang.String sql, int end, int tokenStart, int i, java.util.ArrayList<Token> tokens)  
      private int readH​(java.lang.String sql, int end, int tokenStart, int i, java.util.ArrayList<Token> tokens)  
      private static int readHexNumber​(java.lang.String sql, CastDataProvider provider, int tokenStart, int end, int i, java.util.ArrayList<Token> tokens)  
      private int readI​(java.lang.String sql, int end, int tokenStart, int i, java.util.ArrayList<Token> tokens)  
      private int readIdentifier​(java.lang.String sql, int end, int tokenStart, int i, int cp, java.util.ArrayList<Token> tokens)  
      private int readIdentifierOrKeyword​(java.lang.String sql, int tokenStart, java.util.ArrayList<Token> tokens, int endIndex, int type)  
      private int readJ​(java.lang.String sql, int end, int tokenStart, int i, java.util.ArrayList<Token> tokens)  
      private int readK​(java.lang.String sql, int end, int tokenStart, int i, java.util.ArrayList<Token> tokens)  
      private int readL​(java.lang.String sql, int end, int tokenStart, int i, java.util.ArrayList<Token> tokens)  
      private int readM​(java.lang.String sql, int end, int tokenStart, int i, java.util.ArrayList<Token> tokens)  
      private int readN​(java.lang.String sql, int end, int tokenStart, int i, java.util.ArrayList<Token> tokens)  
      private static int readNumeric​(java.lang.String sql, int tokenStart, int end, int i, char c, boolean integer, boolean approximate, java.util.ArrayList<Token> tokens)  
      private static int readNumeric​(java.lang.String sql, int tokenStart, int end, int i, char c, java.util.ArrayList<Token> tokens)  
      private int readO​(java.lang.String sql, int end, int tokenStart, int i, java.util.ArrayList<Token> tokens)  
      private int readP​(java.lang.String sql, int end, int tokenStart, int i, java.util.ArrayList<Token> tokens)  
      private int readQ​(java.lang.String sql, int end, int tokenStart, int i, java.util.ArrayList<Token> tokens)  
      private int readQuotedIdentifier​(java.lang.String sql, int end, int tokenStart, int i, char c, boolean unicode, java.util.ArrayList<Token> tokens)  
      private int readR​(java.lang.String sql, int end, int tokenStart, int i, java.util.ArrayList<Token> tokens)  
      private int readS​(java.lang.String sql, int end, int tokenStart, int i, java.util.ArrayList<Token> tokens)  
      private int readT​(java.lang.String sql, int end, int tokenStart, int i, java.util.ArrayList<Token> tokens)  
      private int readU​(java.lang.String sql, int end, int tokenStart, int i, java.util.ArrayList<Token> tokens)  
      private int readV​(java.lang.String sql, int end, int tokenStart, int i, java.util.ArrayList<Token> tokens)  
      private int readW​(java.lang.String sql, int end, int tokenStart, int i, java.util.ArrayList<Token> tokens)  
      private int readY​(java.lang.String sql, int end, int tokenStart, int i, java.util.ArrayList<Token> tokens)  
      private static int skipBracketedComment​(java.lang.String sql, int tokenStart, int end, int i)  
      private static int skipSimpleComment​(java.lang.String sql, int end, int i)  
      private static int skipWhitespace​(java.lang.String sql, int end, int i)  
      (package private) java.util.ArrayList<Token> tokenize​(java.lang.String sql, boolean stopOnCloseParen)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • identifiersToUpper

        private final boolean identifiersToUpper
      • identifiersToLower

        private final boolean identifiersToLower
      • nonKeywords

        private final java.util.BitSet nonKeywords
    • Constructor Detail

      • Tokenizer

        Tokenizer​(CastDataProvider provider,
                  boolean identifiersToUpper,
                  boolean identifiersToLower,
                  java.util.BitSet nonKeywords)
    • Method Detail

      • tokenize

        java.util.ArrayList<Token> tokenize​(java.lang.String sql,
                                            boolean stopOnCloseParen)
      • readIdentifier

        private int readIdentifier​(java.lang.String sql,
                                   int end,
                                   int tokenStart,
                                   int i,
                                   int cp,
                                   java.util.ArrayList<Token> tokens)
      • readA

        private int readA​(java.lang.String sql,
                          int end,
                          int tokenStart,
                          int i,
                          java.util.ArrayList<Token> tokens)
      • readB

        private int readB​(java.lang.String sql,
                          int end,
                          int tokenStart,
                          int i,
                          java.util.ArrayList<Token> tokens)
      • readC

        private int readC​(java.lang.String sql,
                          int end,
                          int tokenStart,
                          int i,
                          java.util.ArrayList<Token> tokens)
      • getTokenTypeCurrent

        private static int getTokenTypeCurrent​(java.lang.String s,
                                               int tokenStart,
                                               int length)
      • eqCurrent

        private static boolean eqCurrent​(java.lang.String expected,
                                         java.lang.String s,
                                         int start,
                                         int length)
      • readD

        private int readD​(java.lang.String sql,
                          int end,
                          int tokenStart,
                          int i,
                          java.util.ArrayList<Token> tokens)
      • readE

        private int readE​(java.lang.String sql,
                          int end,
                          int tokenStart,
                          int i,
                          java.util.ArrayList<Token> tokens)
      • readF

        private int readF​(java.lang.String sql,
                          int end,
                          int tokenStart,
                          int i,
                          java.util.ArrayList<Token> tokens)
      • readG

        private int readG​(java.lang.String sql,
                          int end,
                          int tokenStart,
                          int i,
                          java.util.ArrayList<Token> tokens)
      • readH

        private int readH​(java.lang.String sql,
                          int end,
                          int tokenStart,
                          int i,
                          java.util.ArrayList<Token> tokens)
      • readI

        private int readI​(java.lang.String sql,
                          int end,
                          int tokenStart,
                          int i,
                          java.util.ArrayList<Token> tokens)
      • readJ

        private int readJ​(java.lang.String sql,
                          int end,
                          int tokenStart,
                          int i,
                          java.util.ArrayList<Token> tokens)
      • readK

        private int readK​(java.lang.String sql,
                          int end,
                          int tokenStart,
                          int i,
                          java.util.ArrayList<Token> tokens)
      • readL

        private int readL​(java.lang.String sql,
                          int end,
                          int tokenStart,
                          int i,
                          java.util.ArrayList<Token> tokens)
      • readM

        private int readM​(java.lang.String sql,
                          int end,
                          int tokenStart,
                          int i,
                          java.util.ArrayList<Token> tokens)
      • readN

        private int readN​(java.lang.String sql,
                          int end,
                          int tokenStart,
                          int i,
                          java.util.ArrayList<Token> tokens)
      • readO

        private int readO​(java.lang.String sql,
                          int end,
                          int tokenStart,
                          int i,
                          java.util.ArrayList<Token> tokens)
      • readP

        private int readP​(java.lang.String sql,
                          int end,
                          int tokenStart,
                          int i,
                          java.util.ArrayList<Token> tokens)
      • readQ

        private int readQ​(java.lang.String sql,
                          int end,
                          int tokenStart,
                          int i,
                          java.util.ArrayList<Token> tokens)
      • readR

        private int readR​(java.lang.String sql,
                          int end,
                          int tokenStart,
                          int i,
                          java.util.ArrayList<Token> tokens)
      • readS

        private int readS​(java.lang.String sql,
                          int end,
                          int tokenStart,
                          int i,
                          java.util.ArrayList<Token> tokens)
      • readT

        private int readT​(java.lang.String sql,
                          int end,
                          int tokenStart,
                          int i,
                          java.util.ArrayList<Token> tokens)
      • readU

        private int readU​(java.lang.String sql,
                          int end,
                          int tokenStart,
                          int i,
                          java.util.ArrayList<Token> tokens)
      • readV

        private int readV​(java.lang.String sql,
                          int end,
                          int tokenStart,
                          int i,
                          java.util.ArrayList<Token> tokens)
      • readW

        private int readW​(java.lang.String sql,
                          int end,
                          int tokenStart,
                          int i,
                          java.util.ArrayList<Token> tokens)
      • readY

        private int readY​(java.lang.String sql,
                          int end,
                          int tokenStart,
                          int i,
                          java.util.ArrayList<Token> tokens)
      • read_

        private int read_​(java.lang.String sql,
                          int end,
                          int tokenStart,
                          int i,
                          java.util.ArrayList<Token> tokens)
      • readIdentifierOrKeyword

        private int readIdentifierOrKeyword​(java.lang.String sql,
                                            int tokenStart,
                                            java.util.ArrayList<Token> tokens,
                                            int endIndex,
                                            int type)
      • eq

        private static boolean eq​(java.lang.String expected,
                                  java.lang.String s,
                                  int start,
                                  int length)
      • findIdentifierEnd

        private int findIdentifierEnd​(java.lang.String sql,
                                      int end,
                                      int i)
      • extractIdentifier

        private java.lang.String extractIdentifier​(java.lang.String sql,
                                                   int beginIndex,
                                                   int endIndex)
      • readQuotedIdentifier

        private int readQuotedIdentifier​(java.lang.String sql,
                                         int end,
                                         int tokenStart,
                                         int i,
                                         char c,
                                         boolean unicode,
                                         java.util.ArrayList<Token> tokens)
      • convertCase

        private java.lang.String convertCase​(java.lang.String s)
      • readBinaryString

        private static int readBinaryString​(java.lang.String sql,
                                            int tokenStart,
                                            int end,
                                            int i,
                                            java.util.ArrayList<Token> tokens)
      • readCharacterString

        private static int readCharacterString​(java.lang.String sql,
                                               int tokenStart,
                                               int end,
                                               int i,
                                               boolean unicode,
                                               java.util.ArrayList<Token> tokens)
      • skipWhitespace

        private static int skipWhitespace​(java.lang.String sql,
                                          int end,
                                          int i)
      • readHexNumber

        private static int readHexNumber​(java.lang.String sql,
                                         CastDataProvider provider,
                                         int tokenStart,
                                         int end,
                                         int i,
                                         java.util.ArrayList<Token> tokens)
      • readNumeric

        private static int readNumeric​(java.lang.String sql,
                                       int tokenStart,
                                       int end,
                                       int i,
                                       char c,
                                       java.util.ArrayList<Token> tokens)
      • readNumeric

        private static int readNumeric​(java.lang.String sql,
                                       int tokenStart,
                                       int end,
                                       int i,
                                       char c,
                                       boolean integer,
                                       boolean approximate,
                                       java.util.ArrayList<Token> tokens)
      • finishBigInteger

        private static int finishBigInteger​(java.lang.String sql,
                                            int tokenStart,
                                            int end,
                                            int i,
                                            int start,
                                            boolean asBigint,
                                            int radix,
                                            java.util.ArrayList<Token> tokens)
      • skipBracketedComment

        private static int skipBracketedComment​(java.lang.String sql,
                                                int tokenStart,
                                                int end,
                                                int i)
      • skipSimpleComment

        private static int skipSimpleComment​(java.lang.String sql,
                                             int end,
                                             int i)
      • parseParameterIndex

        private static int parseParameterIndex​(java.lang.String sql,
                                               int end,
                                               int i,
                                               java.util.ArrayList<Token> tokens)
      • assignParameterIndex

        private static int assignParameterIndex​(java.util.ArrayList<Token> tokens,
                                                int lastParameter)
      • processUescape

        private static void processUescape​(java.lang.String sql,
                                           java.util.ArrayList<Token> tokens)