1 package sharin.csv.parser;
2
3 import java.io.Reader;
4 import java.util.ArrayList;
5 import java.util.Iterator;
6 import java.util.List;
7
8 public class BasicCsvPullParser implements CsvPullParser {
9
10 private final char separator;
11
12 public BasicCsvPullParser() {
13 this(',');
14 }
15
16 public BasicCsvPullParser(char separator) {
17 this.separator = separator;
18 }
19
20 public String[][] parseAll(Reader reader) {
21 List<String[]> recordList = new ArrayList<String[]>();
22
23 for (String[] record : parse(reader)) {
24 recordList.add(record);
25 }
26
27 return recordList.toArray(new String[recordList.size()][]);
28 }
29
30 public Iterable<String[]> parse(final Reader reader) {
31 return new Iterable<String[]>() {
32
33 public Iterator<String[]> iterator() {
34 return new BasicCsvIterator(reader, separator);
35 }
36 };
37 }
38 }