Author: ggregory
Date: Thu Oct 11 14:56:16 2012
New Revision: 1397094

URL: http://svn.apache.org/viewvc?rev=1397094&view=rev
Log:
Add CVSRecord.isMapped(String) API.

Modified:
    commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVRecord.java
    
commons/proper/csv/trunk/src/test/java/org/apache/commons/csv/CSVParserTest.java

Modified: 
commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVRecord.java
URL: 
http://svn.apache.org/viewvc/commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVRecord.java?rev=1397094&r1=1397093&r2=1397094&view=diff
==============================================================================
--- 
commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVRecord.java 
(original)
+++ 
commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVRecord.java 
Thu Oct 11 14:56:16 2012
@@ -60,14 +60,14 @@ public class CSVRecord implements Serial
      * Returns a value by name.
      *
      * @param name
-     *            the name of the column to be retrieved
+     *            the name of the column to be retrieved.
      * @return the column value, or {@code null} if the column name is not 
found
      * @throws IllegalStateException
      *             if no header mapping was provided
      */
     public String get(String name) {
         if (mapping == null) {
-            throw new IllegalStateException("No header was specified, the 
record values can't be accessed by name");
+            throw new IllegalStateException("No header mapping was specified, 
the record values can't be accessed by name");
         }
 
         Integer index = mapping.get(name);
@@ -75,6 +75,17 @@ public class CSVRecord implements Serial
         return index != null ? values[index.intValue()] : null;
     }
 
+    /**
+     * Checks whether a given columns is mapped.
+     * 
+     * @param name
+     *            the name of the column to be retrieved.
+     * @return whether a given columns is mapped.
+     */
+    public boolean isMapped(String name) {
+        return mapping != null ? mapping.containsKey(name) : false;
+    }
+    
     public Iterator<String> iterator() {
         return Arrays.asList(values).iterator();
     }

Modified: 
commons/proper/csv/trunk/src/test/java/org/apache/commons/csv/CSVParserTest.java
URL: 
http://svn.apache.org/viewvc/commons/proper/csv/trunk/src/test/java/org/apache/commons/csv/CSVParserTest.java?rev=1397094&r1=1397093&r2=1397094&view=diff
==============================================================================
--- 
commons/proper/csv/trunk/src/test/java/org/apache/commons/csv/CSVParserTest.java
 (original)
+++ 
commons/proper/csv/trunk/src/test/java/org/apache/commons/csv/CSVParserTest.java
 Thu Oct 11 14:56:16 2012
@@ -503,6 +503,10 @@ public class CSVParserTest {
         for (int i = 0; i < 3; i++) {
             assertTrue(records.hasNext());
             CSVRecord record = records.next();
+            assertTrue(record.isMapped("A"));
+            assertTrue(record.isMapped("B"));
+            assertTrue(record.isMapped("C"));
+            assertFalse(record.isMapped("NOT MAPPED"));
             assertEquals(record.get(0), record.get("A"));
             assertEquals(record.get(1), record.get("B"));
             assertEquals(record.get(2), record.get("C"));


Reply via email to