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"));