You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by eb...@apache.org on 2011/11/10 01:26:10 UTC
svn commit: r1200061 - in /commons/sandbox/csv/trunk/src:
main/java/org/apache/commons/csv/ test/java/org/apache/commons/csv/
Author: ebourg
Date: Thu Nov 10 00:26:09 2011
New Revision: 1200061
URL: http://svn.apache.org/viewvc?rev=1200061&view=rev
Log:
Reduced the constants in CSVFormat for disabling the features to only one
Modified:
commons/sandbox/csv/trunk/src/main/java/org/apache/commons/csv/CSVFormat.java
commons/sandbox/csv/trunk/src/main/java/org/apache/commons/csv/CSVPrinter.java
commons/sandbox/csv/trunk/src/test/java/org/apache/commons/csv/CSVParserTest.java
commons/sandbox/csv/trunk/src/test/java/org/apache/commons/csv/CSVPrinterTest.java
Modified: commons/sandbox/csv/trunk/src/main/java/org/apache/commons/csv/CSVFormat.java
URL: http://svn.apache.org/viewvc/commons/sandbox/csv/trunk/src/main/java/org/apache/commons/csv/CSVFormat.java?rev=1200061&r1=1200060&r2=1200061&view=diff
==============================================================================
--- commons/sandbox/csv/trunk/src/main/java/org/apache/commons/csv/CSVFormat.java (original)
+++ commons/sandbox/csv/trunk/src/main/java/org/apache/commons/csv/CSVFormat.java Thu Nov 10 00:26:09 2011
@@ -28,30 +28,31 @@ public class CSVFormat implements Clonea
private char delimiter = ',';
private char encapsulator = '"';
- private char commentStart = COMMENTS_DISABLED;
- private char escape = ESCAPE_DISABLED;
+ private char commentStart = DISABLED;
+ private char escape = DISABLED;
private boolean leadingSpacesIgnored = true;
private boolean trailingSpacesIgnored = true;
private boolean unicodeEscapesInterpreted = false;
private boolean emptyLinesIgnored = true;
private String lineSeparator = "\n";
- // -2 is used to signal disabled, because it won't be confused with
- // an EOF signal (-1), and because \ufffe in UTF-16 would be
- // encoded as two chars (using surrogates) and thus there should never
- // be a collision with a real text char.
- public static final char COMMENTS_DISABLED = (char) -2;
- public static final char ESCAPE_DISABLED = (char) -2;
- public static final char ENCAPSULATOR_DISABLED = (char) -2;
+
+ /**
+ * Constant char to be used for disabling comments, escapes and encapsulation.
+ * The value -2 is used because it won't be confused with an EOF signal (-1),
+ * and because the unicode value FFFE would be encoded as two chars (using surrogates)
+ * and thus there should never be a collision with a real text char.
+ */
+ public static final char DISABLED = '\ufffe';
/** Standard comma separated format. */
- public static final CSVFormat DEFAULT = new CSVFormat(',', '"', COMMENTS_DISABLED, ESCAPE_DISABLED, true, true, false, true);
-
+ public static final CSVFormat DEFAULT = new CSVFormat(',', '"', DISABLED, DISABLED, true, true, false, true);
+
/** Excel file format (using a comma as the value delimiter). */
- public static final CSVFormat EXCEL = new CSVFormat(',', '"', COMMENTS_DISABLED, ESCAPE_DISABLED, false, false, false, false);
-
+ public static final CSVFormat EXCEL = new CSVFormat(',', '"', DISABLED, DISABLED, false, false, false, false);
+
/** Tabulation delimited format. */
- public static final CSVFormat TDF = new CSVFormat('\t', '"', COMMENTS_DISABLED, ESCAPE_DISABLED, true, true, false, true);
+ public static final CSVFormat TDF = new CSVFormat('\t', '"', DISABLED, DISABLED, true, true, false, true);
/**
@@ -61,7 +62,7 @@ public class CSVFormat implements Clonea
}
public CSVFormat(char delimiter, char encapsulator, char commentStart) {
- this(delimiter, encapsulator, commentStart, ESCAPE_DISABLED, true, true, false, true);
+ this(delimiter, encapsulator, commentStart, DISABLED, true, true, false, true);
}
/**
@@ -115,6 +116,10 @@ public class CSVFormat implements Clonea
return format;
}
+ boolean isEncapsulating() {
+ return this.encapsulator != DISABLED;
+ }
+
public char getCommentStart() {
return commentStart;
}
@@ -126,7 +131,7 @@ public class CSVFormat implements Clonea
}
public boolean isCommentingDisabled() {
- return this.commentStart == COMMENTS_DISABLED;
+ return this.commentStart == DISABLED;
}
public char getEscape() {
@@ -139,6 +144,10 @@ public class CSVFormat implements Clonea
return format;
}
+ boolean isEscaping() {
+ return this.escape != DISABLED;
+ }
+
public boolean isLeadingSpacesIgnored() {
return leadingSpacesIgnored;
}
Modified: commons/sandbox/csv/trunk/src/main/java/org/apache/commons/csv/CSVPrinter.java
URL: http://svn.apache.org/viewvc/commons/sandbox/csv/trunk/src/main/java/org/apache/commons/csv/CSVPrinter.java?rev=1200061&r1=1200060&r2=1200061&view=diff
==============================================================================
--- commons/sandbox/csv/trunk/src/main/java/org/apache/commons/csv/CSVPrinter.java (original)
+++ commons/sandbox/csv/trunk/src/main/java/org/apache/commons/csv/CSVPrinter.java Thu Nov 10 00:26:09 2011
@@ -127,10 +127,10 @@ public class CSVPrinter {
out.write(value, offset, len);
return;
}
-
- if (format.getEncapsulator() != CSVFormat.ENCAPSULATOR_DISABLED) {
+
+ if (format.isEncapsulating()) {
printAndEncapsulate(value, offset, len);
- } else if (format.getEscape() != CSVFormat.ESCAPE_DISABLED) {
+ } else if (format.isEscaping()) {
printAndEscape(value, offset, len);
} else {
printSep();
Modified: commons/sandbox/csv/trunk/src/test/java/org/apache/commons/csv/CSVParserTest.java
URL: http://svn.apache.org/viewvc/commons/sandbox/csv/trunk/src/test/java/org/apache/commons/csv/CSVParserTest.java?rev=1200061&r1=1200060&r2=1200061&view=diff
==============================================================================
--- commons/sandbox/csv/trunk/src/test/java/org/apache/commons/csv/CSVParserTest.java (original)
+++ commons/sandbox/csv/trunk/src/test/java/org/apache/commons/csv/CSVParserTest.java Thu Nov 10 00:26:09 2011
@@ -438,7 +438,7 @@ public class CSVParserTest extends TestC
};
- CSVFormat format = new CSVFormat(',', '\'', CSVFormat.COMMENTS_DISABLED, '/', false, false, true, true);
+ CSVFormat format = new CSVFormat(',', '\'', CSVFormat.DISABLED, '/', false, false, true, true);
CSVParser parser = new CSVParser(new StringReader(code), format);
String[][] tmp = parser.getRecords();
@@ -466,7 +466,7 @@ public class CSVParserTest extends TestC
};
- CSVFormat format = new CSVFormat(',', CSVFormat.ENCAPSULATOR_DISABLED, CSVFormat.COMMENTS_DISABLED, '/', false, false, true, true);
+ CSVFormat format = new CSVFormat(',', CSVFormat.DISABLED, CSVFormat.DISABLED, '/', false, false, true, true);
CSVParser parser = new CSVParser(new StringReader(code), format);
String[][] tmp = parser.getRecords();
@@ -493,7 +493,7 @@ public class CSVParserTest extends TestC
};
CSVFormat format = CSVFormat.DEFAULT;
- assertEquals(CSVFormat.COMMENTS_DISABLED, format.getCommentStart());
+ assertEquals(CSVFormat.DISABLED, format.getCommentStart());
CSVParser parser = new CSVParser(new StringReader(code), format);
String[][] tmp = parser.getRecords();
Modified: commons/sandbox/csv/trunk/src/test/java/org/apache/commons/csv/CSVPrinterTest.java
URL: http://svn.apache.org/viewvc/commons/sandbox/csv/trunk/src/test/java/org/apache/commons/csv/CSVPrinterTest.java?rev=1200061&r1=1200060&r2=1200061&view=diff
==============================================================================
--- commons/sandbox/csv/trunk/src/test/java/org/apache/commons/csv/CSVPrinterTest.java (original)
+++ commons/sandbox/csv/trunk/src/test/java/org/apache/commons/csv/CSVPrinterTest.java Thu Nov 10 00:26:09 2011
@@ -111,7 +111,7 @@ public class CSVPrinterTest extends Test
doRandom(iter);
// Format for MySQL
- format = new CSVFormat('\t', CSVFormat.ENCAPSULATOR_DISABLED, CSVFormat.COMMENTS_DISABLED, '\\', false, false, false, false);
+ format = new CSVFormat('\t', CSVFormat.DISABLED, CSVFormat.DISABLED, '\\', false, false, false, false);
doRandom(iter);
}