From b890d511085ef6c3a304aba4dc65299172fe67ee Mon Sep 17 00:00:00 2001 From: Alessandro Iezzi Date: Thu, 15 Jun 2023 18:18:10 +0200 Subject: Add checkDefaultConstructor() in CSVParser --- src/main/java/it/alessandroiezzi/csv/CSVParser.java | 10 ++++++++++ 1 file changed, 10 insertions(+) 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 { private String separator = ";"; private final Class 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 cls) { this.csvFile = csvFile; this.cls = cls; + checkDefaultConstructor(); } public CSVParser withSeparator(char separator) { -- cgit v1.2.3