summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlessandro Iezzi <aiezzi@alessandroiezzi.it>2023-06-19 17:11:02 +0200
committerAlessandro Iezzi <aiezzi@alessandroiezzi.it>2023-06-19 17:11:02 +0200
commit0f29cc22ea769fc0fc5375956afab2654fe91c21 (patch)
treed7e30625e51585b536ad08a0a6c1416c8a601554
parent9ca93f266f76d4eec88b384b0d9ff61c68b598c8 (diff)
downloadcsv-utils-0f29cc22ea769fc0fc5375956afab2654fe91c21.tar.gz
csv-utils-0f29cc22ea769fc0fc5375956afab2654fe91c21.zip
Add the default separator for builder and parser
-rw-r--r--src/main/java/it/alessandroiezzi/csv/CSV.java24
-rw-r--r--src/main/java/it/alessandroiezzi/csv/CSVBuilder.java4
-rw-r--r--src/main/java/it/alessandroiezzi/csv/CSVParser.java4
3 files changed, 28 insertions, 4 deletions
diff --git a/src/main/java/it/alessandroiezzi/csv/CSV.java b/src/main/java/it/alessandroiezzi/csv/CSV.java
new file mode 100644
index 0000000..4cdbcff
--- /dev/null
+++ b/src/main/java/it/alessandroiezzi/csv/CSV.java
@@ -0,0 +1,24 @@
+/*
+ * Simple and faster CSV parser/writer library.
+ *
+ * Copyright (C) 2022-2023 Alessandro Iezzi <aiezzi AT alessandroiezzi PERIOD it>
+ *
+ * csv-utils is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * csv-utils is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with csv-utils. If not, see <https://www.gnu.org/licenses/>.
+ */
+
+package it.alessandroiezzi.csv;
+
+public interface CSV {
+ static String DEFAULT_SEPARATOR = ";";
+}
diff --git a/src/main/java/it/alessandroiezzi/csv/CSVBuilder.java b/src/main/java/it/alessandroiezzi/csv/CSVBuilder.java
index d9e15b0..dd2878a 100644
--- a/src/main/java/it/alessandroiezzi/csv/CSVBuilder.java
+++ b/src/main/java/it/alessandroiezzi/csv/CSVBuilder.java
@@ -29,10 +29,10 @@ import java.util.function.Consumer;
/**
* Used to generate a CSV.
*/
-public class CSVBuilder {
+public class CSVBuilder implements CSV {
private final String[] header;
private final List<String[]> rows = new ArrayList<>();
- private String separator = ",";
+ private String separator = DEFAULT_SEPARATOR;
private String buildRow(String...row) {
/* build a CSV row with the separator symbol */
diff --git a/src/main/java/it/alessandroiezzi/csv/CSVParser.java b/src/main/java/it/alessandroiezzi/csv/CSVParser.java
index 6ede144..3232c1e 100644
--- a/src/main/java/it/alessandroiezzi/csv/CSVParser.java
+++ b/src/main/java/it/alessandroiezzi/csv/CSVParser.java
@@ -30,9 +30,9 @@ import java.util.List;
import java.util.Map;
import java.util.function.BiConsumer;
-public class CSVParser<T> {
+public class CSVParser<T> implements CSV {
private final InputStream csvFile;
- private String separator = ";";
+ private String separator = DEFAULT_SEPARATOR;
private final Map<String, BiConsumer<T, String>> mappers = new HashMap<>();
private final Class<T> cls;