Update of /var/cvs/src/org/mmbase/util
In directory james.mmbase.org:/tmp/cvs-serv26690

Modified Files:
        CSVReader.java 
Log Message:
more generics


See also: http://cvs.mmbase.org/viewcvs/src/org/mmbase/util


Index: CSVReader.java
===================================================================
RCS file: /var/cvs/src/org/mmbase/util/CSVReader.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- CSVReader.java      12 Jan 2009 11:28:19 -0000      1.2
+++ CSVReader.java      12 Jan 2009 12:22:31 -0000      1.3
@@ -20,7 +20,7 @@
  * written by Ian F. Darwin: "\"([^\"]+?)\",?|([^,]+),?|,".
  * 
  * @author Andr\U00e9 vanToly <an...@toly.nl>
- * @version $Rev$
+ * @version $Id: CSVReader.java,v 1.3 2009/01/12 12:22:31 michiel Exp $
  */
 public class CSVReader {
     
@@ -32,7 +32,7 @@
     private static Pattern csv_pattern = 
Pattern.compile("\"([^\"]+?)\",?|([^,]+),?|,");
     public List<String> lines = new ArrayList<String>();    // list with rows 
as strings
     public List<String> header = new ArrayList<String>();
-    public Map<Integer, ArrayList> rows = new HashMap<Integer, ArrayList>();   
 // contains rows as arrays
+    public Map<Integer, List<String>> rows = new HashMap<Integer, 
List<String>>();    // contains rows as arrays
 
     /**
      * Constructor
@@ -84,8 +84,9 @@
                 header.clear();
                 rows.clear();
                 header = parse( lines.get(0) );    // first could be header
-                for (int i = 0; i < lines.size(); i++) {
-                    rows.put(i, parse( lines.get(i)) );
+                int i = 0;
+                for (String l : lines) {
+                    rows.put(i++, parse(l));
                 }
             }
         } catch(java.nio.charset.IllegalCharsetNameException ice) {
@@ -106,17 +107,17 @@
      * @return the element as a String.
      */
     public String getElement(int r, int c) {
-        ArrayList<String> row = rows.get(r);
+        List<String> row = rows.get(r);
         String value = row.get(c);
         
         return value;
     }
 
-    public Map getValues(String filename) {
+    public Map<Integer, List<String>> getValues(String filename) {
         return getValues(filename, null, null);
     }
     
-    public Map getValues(String filename, String delimiter) {
+    public Map<Integer, List<String>> getValues(String filename, String 
delimiter) {
         return getValues(filename, delimiter, null);
     }
 
@@ -124,8 +125,9 @@
      * Map to use in a taglib function. Calls {...@link #readCSV} and returns 
csv-file rows.
      * @param filename  CSV file
      * @return map with an array per row with values
+     * @todo   I don't understand why it does not return List<List<String>> in 
stead.
      */
-    public Map getValues(String filename, String delimiter, String charset) {
+    public Map<Integer, List<String>> getValues(String filename, String 
delimiter, String charset) {
         if (delimiter == null || "".equals(delimiter)) delimiter = 
this.delimiter;
         if (charset == null || "".equals(charset)) charset = this.charset;
         readCSV(filename, delimiter, charset);
@@ -147,8 +149,8 @@
      * @param  line row in a csv file
      * @return List of Strings, minus their double quotes
      */
-    private ArrayList parse(String line) {
-        ArrayList list = new ArrayList();
+    private List<String> parse(String line) {
+        List<String> list = new ArrayList<String>();
         Matcher m = csv_pattern.matcher(line);
         while (m.find()) {
             String match = m.group();
_______________________________________________
Cvs mailing list
Cvs@lists.mmbase.org
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to