Author: sebb
Date: Thu Mar 22 16:37:01 2012
New Revision: 1303882

URL: http://svn.apache.org/viewvc?rev=1303882&view=rev
Log:
CSV-71 - Add convenience Methods to CSVLexer
Added methods to Lexer parent class (updated CSVLexer to follow)

Modified:
    commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/Lexer.java

Modified: 
commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/Lexer.java
URL: 
http://svn.apache.org/viewvc/commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/Lexer.java?rev=1303882&r1=1303881&r2=1303882&view=diff
==============================================================================
--- commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/Lexer.java 
(original)
+++ commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/Lexer.java 
Thu Mar 22 16:37:01 2012
@@ -25,6 +25,16 @@ import java.io.IOException;
  */
 abstract class Lexer {
 
+    private final boolean isEncapsulating;
+    private final boolean isEscaping;
+    private final boolean isCommentEnabled;
+    
+    private final char delimiter;
+    private final char escape;
+    private final char encapsulator;
+    private final char commmentStart;
+    
+    
     final CSVFormat format;
     
     /** The input stream */
@@ -33,6 +43,13 @@ abstract class Lexer {
     Lexer(CSVFormat format, ExtendedBufferedReader in) {
         this.format = format;
         this.in = in;
+        this.isEncapsulating = format.isEncapsulating();
+        this.isEscaping = format.isEscaping();
+        this.isCommentEnabled = format.isCommentingEnabled();
+        this.delimiter = format.getDelimiter();
+        this.escape = format.getEscape();
+        this.encapsulator = format.getEncapsulator();
+        this.commmentStart = format.getCommentStart();
     }
 
     int getLineNumber() {
@@ -98,4 +115,20 @@ abstract class Lexer {
     }
 
     abstract Token nextToken(Token reusableToken) throws IOException;
+    
+    boolean isDelimiter(int c) {
+        return c == delimiter;
+    }
+
+    boolean isEscape(int c) {
+        return isEscaping && c == escape;
+    }
+
+    boolean isEncapsulator(int c) {
+        return isEncapsulating && c == encapsulator;
+    }
+
+    boolean isCommentStart(int c) {
+        return isCommentEnabled && c == commmentStart;
+    }
 }


Reply via email to