1 package sharin.csv.parser;
2
3 import java.io.Reader;
4
5 import sharin.util.IoUtils;
6
7 public class BasicCsvPushParser implements CsvPushParser {
8
9 private final char separator;
10
11 public BasicCsvPushParser() {
12 this(',');
13 }
14
15 public BasicCsvPushParser(char separator) {
16 this.separator = separator;
17 }
18
19 public String[][] parseAll(Reader reader) {
20 BasicCsvHandler handler = new BasicCsvHandler();
21 parse(reader, handler);
22 return handler.getRecords();
23 }
24
25 public void parse(Reader reader, CsvHandler handler) {
26 BasicCsvAutomaton automaton = new BasicCsvAutomaton(handler, separator);
27 int ch = 0;
28
29 while (ch != -1) {
30 ch = IoUtils.read(reader);
31 automaton.put(ch);
32 }
33 }
34 }