summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlessandro Iezzi <aiezzi@alessandroiezzi.it>2023-06-15 18:18:10 +0200
committerAlessandro Iezzi <aiezzi@alessandroiezzi.it>2023-06-15 18:18:10 +0200
commitb890d511085ef6c3a304aba4dc65299172fe67ee (patch)
treea236378ae3171b2c8e0dcc1a1fcc939ded594f10 /src
parentd189bf0d770c3b5132e6470400db9a25d3758309 (diff)
downloadcsv-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.java10
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) {