From 79f7bf42115087c9c4512336cf3eb385b6e761e9 Mon Sep 17 00:00:00 2001
From: Christopher Bohn <bohn@unl.edu>
Date: Tue, 19 Nov 2019 11:58:59 -0600
Subject: [PATCH] Changed write method's signature to accept any Iterable

---
 src/main/java/edu/unl/cse/csv_io/CSVReaderWriter.java | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/src/main/java/edu/unl/cse/csv_io/CSVReaderWriter.java b/src/main/java/edu/unl/cse/csv_io/CSVReaderWriter.java
index 6541434..8caef89 100644
--- a/src/main/java/edu/unl/cse/csv_io/CSVReaderWriter.java
+++ b/src/main/java/edu/unl/cse/csv_io/CSVReaderWriter.java
@@ -67,6 +67,7 @@ public class CSVReaderWriter {
     }
 
     /* LEGACY METHODS */
+    @SuppressWarnings("WeakerAccess")
     public static Set<Map<String, String>> readCSV(String filename) {
         return readCSVasSet(filename);
     }
@@ -85,7 +86,8 @@ public class CSVReaderWriter {
 
     // I'd like to replace this with something that uses openCSV, but it works, and openCSV doesn't seem to have
     // writers that take map<string,string>
-    public static boolean writeCSV(String filename, Set<Map<String, String>> data) {
+    @SuppressWarnings("WeakerAccess")
+    public static boolean writeCSV(String filename, Iterable<Map<String, String>> data) {
         boolean wroteFile = true;
         ClassLoader classLoader = CSVReaderWriter.class.getClassLoader();
         URL resource = classLoader.getResource("csv/" + filename);
@@ -145,7 +147,7 @@ public class CSVReaderWriter {
     }
 */
 
-    static void placeCSVonStream(Set<Map<String, String>> data, OutputStream outputStream) {
+    static void placeCSVonStream(Iterable<Map<String, String>> data, OutputStream outputStream) {
         PrintStream writer = new PrintStream(outputStream);
         Set<String> fieldNames = null;
         int number_of_fields = 0;
@@ -167,11 +169,10 @@ public class CSVReaderWriter {
             }
         }
     }
-/*
-        public static void main(String[] args) {
+    
+    public static void main(String[] args) {
         Set<Map<String, String>> demo = readCSV("demo.csv");
         boolean success = writeCSV("out.csv", demo);
         System.out.println(success ? "Wrote file!" : "Didn't write file");
     }
- */
 }
-- 
GitLab