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 }