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;
+ }
}