summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlessandro Iezzi <aiezzi@alessandroiezzi.it>2023-06-15 18:20:52 +0200
committerAlessandro Iezzi <aiezzi@alessandroiezzi.it>2023-06-15 18:20:52 +0200
commit7b101fbf9de9919ddaad93f14f41d5004a0666f8 (patch)
tree5ed33c2e03cbab64993bba3c02050dd5ad86ec20 /src
parent7488ed9aaee5c27a97aecb90f1bf11775df9d7fa (diff)
downloadcsv-utils-7b101fbf9de9919ddaad93f14f41d5004a0666f8.tar.gz
csv-utils-7b101fbf9de9919ddaad93f14f41d5004a0666f8.zip
Add mappers to CSVParser
They're used to map CSV fields with class fields.
Diffstat (limited to 'src')
-rw-r--r--src/main/java/it/alessandroiezzi/csv/CSVParser.java7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/main/java/it/alessandroiezzi/csv/CSVParser.java b/src/main/java/it/alessandroiezzi/csv/CSVParser.java
index 413d5d4..cf78c8c 100644
--- a/src/main/java/it/alessandroiezzi/csv/CSVParser.java
+++ b/src/main/java/it/alessandroiezzi/csv/CSVParser.java
@@ -11,10 +11,12 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.function.BiConsumer;
public class CSVParser<T> {
private final InputStream csvFile;
private String separator = ";";
+ private final Map<String, BiConsumer<T, String>> mappers = new HashMap<>();
private final Class<T> cls;
private void checkDefaultConstructor() {
@@ -31,6 +33,11 @@ public class CSVParser<T> {
checkDefaultConstructor();
}
+ public CSVParser<T> map(String csvHeader, BiConsumer<T, String> func) {
+ mappers.put(csvHeader, func);
+ return this;
+ }
+
public CSVParser<T> withSeparator(char separator) {
this.separator = "" + separator;
return this;