public class io.ebeaninternal.server.text.csv.CsvUtilReader
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.ebeaninternal.server.text.csv.CsvUtilReader
  super_class: java.lang.Object
{
  private final java.io.BufferedReader br;
    descriptor: Ljava/io/BufferedReader;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private boolean hasNext;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private final char separator;
    descriptor: C
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final char quotechar;
    descriptor: C
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int skipLines;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private boolean linesSkiped;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  public static final char DEFAULT_SEPARATOR;
    descriptor: C
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 44

  public static final char DEFAULT_QUOTE_CHARACTER;
    descriptor: C
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 34

  public static final int DEFAULT_SKIP_LINES;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  public void <init>(java.io.Reader);
    descriptor: (Ljava/io/Reader;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.ebeaninternal.server.text.csv.CsvUtilReader this
        start local 1 // java.io.Reader reader
         0: .line 69
            aload 0 /* this */
            aload 1 /* reader */
            bipush 44
            invokespecial io.ebeaninternal.server.text.csv.CsvUtilReader.<init>:(Ljava/io/Reader;C)V
         1: .line 70
            return
        end local 1 // java.io.Reader reader
        end local 0 // io.ebeaninternal.server.text.csv.CsvUtilReader this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lio/ebeaninternal/server/text/csv/CsvUtilReader;
            0    2     1  reader  Ljava/io/Reader;
    MethodParameters:
        Name  Flags
      reader  

  public void <init>(java.io.Reader, char);
    descriptor: (Ljava/io/Reader;C)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // io.ebeaninternal.server.text.csv.CsvUtilReader this
        start local 1 // java.io.Reader reader
        start local 2 // char separator
         0: .line 81
            aload 0 /* this */
            aload 1 /* reader */
            iload 2 /* separator */
            bipush 34
            invokespecial io.ebeaninternal.server.text.csv.CsvUtilReader.<init>:(Ljava/io/Reader;CC)V
         1: .line 82
            return
        end local 2 // char separator
        end local 1 // java.io.Reader reader
        end local 0 // io.ebeaninternal.server.text.csv.CsvUtilReader this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lio/ebeaninternal/server/text/csv/CsvUtilReader;
            0    2     1     reader  Ljava/io/Reader;
            0    2     2  separator  C
    MethodParameters:
           Name  Flags
      reader     
      separator  

  public void <init>(java.io.Reader, char, char);
    descriptor: (Ljava/io/Reader;CC)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // io.ebeaninternal.server.text.csv.CsvUtilReader this
        start local 1 // java.io.Reader reader
        start local 2 // char separator
        start local 3 // char quotechar
         0: .line 96
            aload 0 /* this */
            aload 1 /* reader */
            iload 2 /* separator */
            iload 3 /* quotechar */
            iconst_0
            invokespecial io.ebeaninternal.server.text.csv.CsvUtilReader.<init>:(Ljava/io/Reader;CCI)V
         1: .line 97
            return
        end local 3 // char quotechar
        end local 2 // char separator
        end local 1 // java.io.Reader reader
        end local 0 // io.ebeaninternal.server.text.csv.CsvUtilReader this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lio/ebeaninternal/server/text/csv/CsvUtilReader;
            0    2     1     reader  Ljava/io/Reader;
            0    2     2  separator  C
            0    2     3  quotechar  C
    MethodParameters:
           Name  Flags
      reader     
      separator  
      quotechar  

  public void <init>(java.io.Reader, char, char, int);
    descriptor: (Ljava/io/Reader;CCI)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // io.ebeaninternal.server.text.csv.CsvUtilReader this
        start local 1 // java.io.Reader reader
        start local 2 // char separator
        start local 3 // char quotechar
        start local 4 // int line
         0: .line 111
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 38
            aload 0 /* this */
            iconst_1
            putfield io.ebeaninternal.server.text.csv.CsvUtilReader.hasNext:Z
         2: .line 112
            aload 0 /* this */
            new java.io.BufferedReader
            dup
            aload 1 /* reader */
            invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
            putfield io.ebeaninternal.server.text.csv.CsvUtilReader.br:Ljava/io/BufferedReader;
         3: .line 113
            aload 0 /* this */
            iload 2 /* separator */
            putfield io.ebeaninternal.server.text.csv.CsvUtilReader.separator:C
         4: .line 114
            aload 0 /* this */
            iload 3 /* quotechar */
            putfield io.ebeaninternal.server.text.csv.CsvUtilReader.quotechar:C
         5: .line 115
            aload 0 /* this */
            iload 4 /* line */
            putfield io.ebeaninternal.server.text.csv.CsvUtilReader.skipLines:I
         6: .line 116
            return
        end local 4 // int line
        end local 3 // char quotechar
        end local 2 // char separator
        end local 1 // java.io.Reader reader
        end local 0 // io.ebeaninternal.server.text.csv.CsvUtilReader this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Lio/ebeaninternal/server/text/csv/CsvUtilReader;
            0    7     1     reader  Ljava/io/Reader;
            0    7     2  separator  C
            0    7     3  quotechar  C
            0    7     4       line  I
    MethodParameters:
           Name  Flags
      reader     
      separator  
      quotechar  
      line       

  public java.util.List<java.lang.String[]> readAll();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // io.ebeaninternal.server.text.csv.CsvUtilReader this
         0: .line 130
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* allElements */
        start local 1 // java.util.List allElements
         1: .line 131
            goto 5
         2: .line 132
      StackMap locals: java.util.List
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.ebeaninternal.server.text.csv.CsvUtilReader.readNext:()[Ljava/lang/String;
            astore 2 /* nextLineAsTokens */
        start local 2 // java.lang.String[] nextLineAsTokens
         3: .line 133
            aload 2 /* nextLineAsTokens */
            ifnull 5
         4: .line 134
            aload 1 /* allElements */
            aload 2 /* nextLineAsTokens */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 2 // java.lang.String[] nextLineAsTokens
         5: .line 131
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.text.csv.CsvUtilReader.hasNext:Z
            ifne 2
         6: .line 137
            aload 1 /* allElements */
            areturn
        end local 1 // java.util.List allElements
        end local 0 // io.ebeaninternal.server.text.csv.CsvUtilReader this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    7     0              this  Lio/ebeaninternal/server/text/csv/CsvUtilReader;
            1    7     1       allElements  Ljava/util/List<[Ljava/lang/String;>;
            3    5     2  nextLineAsTokens  [Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    Signature: ()Ljava/util/List<[Ljava/lang/String;>;

  public java.lang.String[] readNext();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // io.ebeaninternal.server.text.csv.CsvUtilReader this
         0: .line 152
            aload 0 /* this */
            invokevirtual io.ebeaninternal.server.text.csv.CsvUtilReader.getNextLine:()Ljava/lang/String;
            astore 1 /* nextLine */
        start local 1 // java.lang.String nextLine
         1: .line 153
            aload 0 /* this */
            getfield io.ebeaninternal.server.text.csv.CsvUtilReader.hasNext:Z
            ifeq 2
            aload 0 /* this */
            aload 1 /* nextLine */
            invokevirtual io.ebeaninternal.server.text.csv.CsvUtilReader.parseLine:(Ljava/lang/String;)[Ljava/lang/String;
            goto 3
      StackMap locals: java.lang.String
      StackMap stack:
         2: aconst_null
      StackMap locals:
      StackMap stack: java.lang.String[]
         3: areturn
        end local 1 // java.lang.String nextLine
        end local 0 // io.ebeaninternal.server.text.csv.CsvUtilReader this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lio/ebeaninternal/server/text/csv/CsvUtilReader;
            1    4     1  nextLine  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException

  private java.lang.String getNextLine();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // io.ebeaninternal.server.text.csv.CsvUtilReader this
         0: .line 164
            aload 0 /* this */
            getfield io.ebeaninternal.server.text.csv.CsvUtilReader.linesSkiped:Z
            ifne 7
         1: .line 165
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         2: goto 5
         3: .line 166
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.text.csv.CsvUtilReader.br:Ljava/io/BufferedReader;
            invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
            pop
         4: .line 165
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 1 /* i */
            aload 0 /* this */
            getfield io.ebeaninternal.server.text.csv.CsvUtilReader.skipLines:I
            if_icmplt 3
        end local 1 // int i
         6: .line 168
            aload 0 /* this */
            iconst_1
            putfield io.ebeaninternal.server.text.csv.CsvUtilReader.linesSkiped:Z
         7: .line 170
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.text.csv.CsvUtilReader.br:Ljava/io/BufferedReader;
            invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
            astore 1 /* nextLine */
        start local 1 // java.lang.String nextLine
         8: .line 171
            aload 1 /* nextLine */
            ifnonnull 10
         9: .line 172
            aload 0 /* this */
            iconst_0
            putfield io.ebeaninternal.server.text.csv.CsvUtilReader.hasNext:Z
        10: .line 174
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.text.csv.CsvUtilReader.hasNext:Z
            ifeq 11
            aload 1 /* nextLine */
            goto 12
      StackMap locals:
      StackMap stack:
        11: aconst_null
      StackMap locals:
      StackMap stack: java.lang.String
        12: areturn
        end local 1 // java.lang.String nextLine
        end local 0 // io.ebeaninternal.server.text.csv.CsvUtilReader this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   13     0      this  Lio/ebeaninternal/server/text/csv/CsvUtilReader;
            2    6     1         i  I
            8   13     1  nextLine  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException

  private java.lang.String[] parseLine(java.lang.String);
    descriptor: (Ljava/lang/String;)[Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // io.ebeaninternal.server.text.csv.CsvUtilReader this
        start local 1 // java.lang.String nextLine
         0: .line 187
            aload 1 /* nextLine */
            ifnonnull 2
         1: .line 188
            aconst_null
            areturn
         2: .line 191
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* tokensOnThisLine */
        start local 2 // java.util.List tokensOnThisLine
         3: .line 193
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 3 /* sb */
        start local 3 // java.lang.StringBuilder sb
         4: .line 194
            iconst_0
            istore 4 /* inQuotes */
        start local 4 // boolean inQuotes
         5: .line 196
      StackMap locals: java.util.List java.lang.StringBuilder int
      StackMap stack:
            iload 4 /* inQuotes */
            ifeq 10
         6: .line 198
            aload 3 /* sb */
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         7: .line 199
            aload 0 /* this */
            invokevirtual io.ebeaninternal.server.text.csv.CsvUtilReader.getNextLine:()Ljava/lang/String;
            astore 1 /* nextLine */
         8: .line 200
            aload 1 /* nextLine */
            ifnonnull 10
         9: .line 201
            goto 37
        10: .line 203
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        11: goto 35
        12: .line 205
      StackMap locals: int
      StackMap stack:
            aload 1 /* nextLine */
            iload 5 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 6 /* c */
        start local 6 // char c
        13: .line 206
            iload 6 /* c */
            aload 0 /* this */
            getfield io.ebeaninternal.server.text.csv.CsvUtilReader.quotechar:C
            if_icmpne 29
        14: .line 209
            iload 4 /* inQuotes */
            ifeq 20
        15: .line 210
            aload 1 /* nextLine */
            invokevirtual java.lang.String.length:()I
            iload 5 /* i */
            iconst_1
            iadd
            if_icmple 20
        16: .line 211
            aload 1 /* nextLine */
            iload 5 /* i */
            iconst_1
            iadd
            invokevirtual java.lang.String.charAt:(I)C
            aload 0 /* this */
            getfield io.ebeaninternal.server.text.csv.CsvUtilReader.quotechar:C
            if_icmpne 20
        17: .line 214
            aload 3 /* sb */
            aload 1 /* nextLine */
            iload 5 /* i */
            iconst_1
            iadd
            invokevirtual java.lang.String.charAt:(I)C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        18: .line 215
            iinc 5 /* i */ 1
        19: .line 216
            goto 34
        20: .line 217
      StackMap locals: int
      StackMap stack:
            iload 4 /* inQuotes */
            ifeq 21
            iconst_0
            goto 22
      StackMap locals:
      StackMap stack:
        21: iconst_1
      StackMap locals:
      StackMap stack: int
        22: istore 4 /* inQuotes */
        23: .line 219
            iload 5 /* i */
            iconst_2
            if_icmple 34
        24: .line 220
            aload 1 /* nextLine */
            iload 5 /* i */
            iconst_1
            isub
            invokevirtual java.lang.String.charAt:(I)C
            aload 0 /* this */
            getfield io.ebeaninternal.server.text.csv.CsvUtilReader.separator:C
            if_icmpeq 34
        25: .line 221
            aload 1 /* nextLine */
            invokevirtual java.lang.String.length:()I
            iload 5 /* i */
            iconst_1
            iadd
            if_icmple 34
        26: .line 222
            aload 1 /* nextLine */
            iload 5 /* i */
            iconst_1
            iadd
            invokevirtual java.lang.String.charAt:(I)C
            aload 0 /* this */
            getfield io.ebeaninternal.server.text.csv.CsvUtilReader.separator:C
            if_icmpeq 34
        27: .line 224
            aload 3 /* sb */
            iload 6 /* c */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        28: .line 227
            goto 34
      StackMap locals:
      StackMap stack:
        29: iload 6 /* c */
            aload 0 /* this */
            getfield io.ebeaninternal.server.text.csv.CsvUtilReader.separator:C
            if_icmpne 33
            iload 4 /* inQuotes */
            ifne 33
        30: .line 228
            aload 2 /* tokensOnThisLine */
            aload 3 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        31: .line 229
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 3 /* sb */
        32: .line 230
            goto 34
        33: .line 231
      StackMap locals:
      StackMap stack:
            aload 3 /* sb */
            iload 6 /* c */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        end local 6 // char c
        34: .line 203
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        35: iload 5 /* i */
            aload 1 /* nextLine */
            invokevirtual java.lang.String.length:()I
            if_icmplt 12
        end local 5 // int i
        36: .line 234
            iload 4 /* inQuotes */
            ifne 5
        37: .line 235
      StackMap locals:
      StackMap stack:
            aload 2 /* tokensOnThisLine */
            aload 3 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        38: .line 236
            aload 2 /* tokensOnThisLine */
            iconst_0
            anewarray java.lang.String
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            areturn
        end local 4 // boolean inQuotes
        end local 3 // java.lang.StringBuilder sb
        end local 2 // java.util.List tokensOnThisLine
        end local 1 // java.lang.String nextLine
        end local 0 // io.ebeaninternal.server.text.csv.CsvUtilReader this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   39     0              this  Lio/ebeaninternal/server/text/csv/CsvUtilReader;
            0   39     1          nextLine  Ljava/lang/String;
            3   39     2  tokensOnThisLine  Ljava/util/List<Ljava/lang/String;>;
            4   39     3                sb  Ljava/lang/StringBuilder;
            5   39     4          inQuotes  Z
           11   36     5                 i  I
           13   34     6                 c  C
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      nextLine  

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.ebeaninternal.server.text.csv.CsvUtilReader this
         0: .line 245
            aload 0 /* this */
            getfield io.ebeaninternal.server.text.csv.CsvUtilReader.br:Ljava/io/BufferedReader;
            invokevirtual java.io.BufferedReader.close:()V
         1: .line 246
            return
        end local 0 // io.ebeaninternal.server.text.csv.CsvUtilReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/ebeaninternal/server/text/csv/CsvUtilReader;
    Exceptions:
      throws java.io.IOException
}
SourceFile: "CsvUtilReader.java"