diff options
author | 2023-06-15 18:18:10 +0200 | |
---|---|---|
committer | 2023-06-15 18:18:10 +0200 | |
commit | b890d511085ef6c3a304aba4dc65299172fe67ee (patch) | |
tree | a236378ae3171b2c8e0dcc1a1fcc939ded594f10 /src | |
parent | d189bf0d770c3b5132e6470400db9a25d3758309 (diff) | |
download | csv-utils-b890d511085ef6c3a304aba4dc65299172fe67ee.tar.gz csv-utils-b890d511085ef6c3a304aba4dc65299172fe67ee.zip |
Add checkDefaultConstructor() in CSVParser
Diffstat (limited to 'src')
-rw-r--r-- | src/main/java/it/alessandroiezzi/csv/CSVParser.java | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/main/java/it/alessandroiezzi/csv/CSVParser.java b/src/main/java/it/alessandroiezzi/csv/CSVParser.java index 8df3b20..4ff346d 100644 --- a/src/main/java/it/alessandroiezzi/csv/CSVParser.java +++ b/src/main/java/it/alessandroiezzi/csv/CSVParser.java @@ -6,6 +6,7 @@ import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; +import java.lang.reflect.Constructor; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -16,9 +17,18 @@ public class CSVParser<T> { private String separator = ";"; private final Class<T> cls; + private void checkDefaultConstructor() { + for (Constructor<?> constructor : cls.getConstructors()) { + if (constructor.getParameterCount() == 0) return; + } + + throw new IllegalArgumentException("You need to define a constructor without parameters on " + cls.getName()); + } + public CSVParser(InputStream csvFile, Class<T> cls) { this.csvFile = csvFile; this.cls = cls; + checkDefaultConstructor(); } public CSVParser<T> withSeparator(char separator) { |