1package junitparams.mappers;
2
3import java.io.BufferedReader;
4import java.io.Reader;
5import java.util.LinkedList;
6import java.util.List;
7
8/**
9 * A Data Mapper based on Buffered Reader.
10 */
11class BufferedReaderDataMapper implements DataMapper {
12
13    private final int linesToSkip;
14
15    BufferedReaderDataMapper() {
16        this(0);
17    }
18
19    BufferedReaderDataMapper(int linesToSkip) {
20        this.linesToSkip = linesToSkip;
21    }
22
23    @Override
24    public Object[] map(Reader reader) {
25        BufferedReader br = new BufferedReader(reader);
26        String line;
27        List<String> result = new LinkedList<String>();
28        int lineNo = 0;
29        try {
30            while ((line = br.readLine()) != null) {
31                if (++lineNo > linesToSkip) {
32                    result.add(line);
33                }
34            }
35            return result.toArray();
36        } catch (Exception e) {
37            throw new RuntimeException(e);
38        }
39    }
40}
41