Modified:
websites/production/commons/content/proper/commons-csv/apidocs/src-html/org/apache/commons/csv/CSVFormat.Predefined.html
==============================================================================
---
websites/production/commons/content/proper/commons-csv/apidocs/src-html/org/apache/commons/csv/CSVFormat.Predefined.html
(original)
+++
websites/production/commons/content/proper/commons-csv/apidocs/src-html/org/apache/commons/csv/CSVFormat.Predefined.html
Wed Sep 25 02:11:29 2024
@@ -1,5 +1,5 @@
<!DOCTYPE HTML>
-<html lang="en">
+<html lang>
<head>
<!-- Generated by javadoc (17) -->
<title>Source code</title>
@@ -30,3114 +30,3137 @@
<span class="source-line-no">017</span><span id="line-17"></span>
<span class="source-line-no">018</span><span id="line-18">package
org.apache.commons.csv;</span>
<span class="source-line-no">019</span><span id="line-19"></span>
-<span class="source-line-no">020</span><span id="line-20">import static
org.apache.commons.csv.Constants.BACKSLASH;</span>
-<span class="source-line-no">021</span><span id="line-21">import static
org.apache.commons.csv.Constants.COMMA;</span>
-<span class="source-line-no">022</span><span id="line-22">import static
org.apache.commons.csv.Constants.COMMENT;</span>
-<span class="source-line-no">023</span><span id="line-23">import static
org.apache.commons.csv.Constants.CR;</span>
-<span class="source-line-no">024</span><span id="line-24">import static
org.apache.commons.csv.Constants.CRLF;</span>
-<span class="source-line-no">025</span><span id="line-25">import static
org.apache.commons.csv.Constants.DOUBLE_QUOTE_CHAR;</span>
-<span class="source-line-no">026</span><span id="line-26">import static
org.apache.commons.csv.Constants.EMPTY;</span>
-<span class="source-line-no">027</span><span id="line-27">import static
org.apache.commons.csv.Constants.LF;</span>
-<span class="source-line-no">028</span><span id="line-28">import static
org.apache.commons.csv.Constants.PIPE;</span>
-<span class="source-line-no">029</span><span id="line-29">import static
org.apache.commons.csv.Constants.SP;</span>
-<span class="source-line-no">030</span><span id="line-30">import static
org.apache.commons.csv.Constants.TAB;</span>
-<span class="source-line-no">031</span><span id="line-31">import static
org.apache.commons.io.IOUtils.EOF;</span>
-<span class="source-line-no">032</span><span id="line-32"></span>
-<span class="source-line-no">033</span><span id="line-33">import
java.io.File;</span>
-<span class="source-line-no">034</span><span id="line-34">import
java.io.FileOutputStream;</span>
-<span class="source-line-no">035</span><span id="line-35">import
java.io.IOException;</span>
-<span class="source-line-no">036</span><span id="line-36">import
java.io.InputStream;</span>
-<span class="source-line-no">037</span><span id="line-37">import
java.io.OutputStream;</span>
-<span class="source-line-no">038</span><span id="line-38">import
java.io.OutputStreamWriter;</span>
-<span class="source-line-no">039</span><span id="line-39">import
java.io.Reader;</span>
-<span class="source-line-no">040</span><span id="line-40">import
java.io.Serializable;</span>
-<span class="source-line-no">041</span><span id="line-41">import
java.io.StringWriter;</span>
-<span class="source-line-no">042</span><span id="line-42">import
java.io.Writer;</span>
-<span class="source-line-no">043</span><span id="line-43">import
java.nio.charset.Charset;</span>
-<span class="source-line-no">044</span><span id="line-44">import
java.nio.file.Files;</span>
-<span class="source-line-no">045</span><span id="line-45">import
java.nio.file.Path;</span>
-<span class="source-line-no">046</span><span id="line-46">import
java.sql.ResultSet;</span>
-<span class="source-line-no">047</span><span id="line-47">import
java.sql.ResultSetMetaData;</span>
-<span class="source-line-no">048</span><span id="line-48">import
java.sql.SQLException;</span>
-<span class="source-line-no">049</span><span id="line-49">import
java.util.Arrays;</span>
-<span class="source-line-no">050</span><span id="line-50">import
java.util.HashSet;</span>
-<span class="source-line-no">051</span><span id="line-51">import
java.util.Objects;</span>
-<span class="source-line-no">052</span><span id="line-52">import
java.util.Set;</span>
-<span class="source-line-no">053</span><span id="line-53"></span>
-<span class="source-line-no">054</span><span id="line-54">import
org.apache.commons.codec.binary.Base64OutputStream;</span>
-<span class="source-line-no">055</span><span id="line-55">import
org.apache.commons.io.IOUtils;</span>
-<span class="source-line-no">056</span><span id="line-56">import
org.apache.commons.io.function.Uncheck;</span>
-<span class="source-line-no">057</span><span id="line-57">import
org.apache.commons.io.output.AppendableOutputStream;</span>
-<span class="source-line-no">058</span><span id="line-58"></span>
-<span class="source-line-no">059</span><span id="line-59">/**</span>
-<span class="source-line-no">060</span><span id="line-60"> * Specifies the
format of a CSV file for parsing and writing.</span>
-<span class="source-line-no">061</span><span id="line-61"> *</span>
-<span class="source-line-no">062</span><span id="line-62"> * <h2>Using
predefined formats</h2></span>
-<span class="source-line-no">063</span><span id="line-63"> *</span>
-<span class="source-line-no">064</span><span id="line-64"> * <p></span>
-<span class="source-line-no">065</span><span id="line-65"> * You can use one
of the predefined formats:</span>
-<span class="source-line-no">066</span><span id="line-66"> * </p></span>
-<span class="source-line-no">067</span><span id="line-67"> *</span>
-<span class="source-line-no">068</span><span id="line-68"> * <ul></span>
-<span class="source-line-no">069</span><span id="line-69"> * <li>{@link
#DEFAULT}</li></span>
-<span class="source-line-no">070</span><span id="line-70"> * <li>{@link
#EXCEL}</li></span>
-<span class="source-line-no">071</span><span id="line-71"> * <li>{@link
#INFORMIX_UNLOAD}</li></span>
-<span class="source-line-no">072</span><span id="line-72"> * <li>{@link
#INFORMIX_UNLOAD_CSV}</li></span>
-<span class="source-line-no">073</span><span id="line-73"> * <li>{@link
#MONGODB_CSV}</li></span>
-<span class="source-line-no">074</span><span id="line-74"> * <li>{@link
#MONGODB_TSV}</li></span>
-<span class="source-line-no">075</span><span id="line-75"> * <li>{@link
#MYSQL}</li></span>
-<span class="source-line-no">076</span><span id="line-76"> * <li>{@link
#ORACLE}</li></span>
-<span class="source-line-no">077</span><span id="line-77"> * <li>{@link
#POSTGRESQL_CSV}</li></span>
-<span class="source-line-no">078</span><span id="line-78"> * <li>{@link
#POSTGRESQL_TEXT}</li></span>
-<span class="source-line-no">079</span><span id="line-79"> * <li>{@link
#RFC4180}</li></span>
-<span class="source-line-no">080</span><span id="line-80"> * <li>{@link
#TDF}</li></span>
-<span class="source-line-no">081</span><span id="line-81"> * </ul></span>
-<span class="source-line-no">082</span><span id="line-82"> *</span>
-<span class="source-line-no">083</span><span id="line-83"> * <p></span>
-<span class="source-line-no">084</span><span id="line-84"> * For
example:</span>
-<span class="source-line-no">085</span><span id="line-85"> * </p></span>
-<span class="source-line-no">086</span><span id="line-86"> *</span>
-<span class="source-line-no">087</span><span id="line-87"> * <pre></span>
-<span class="source-line-no">088</span><span id="line-88"> * CSVParser parser
= CSVFormat.EXCEL.parse(reader);</span>
-<span class="source-line-no">089</span><span id="line-89"> *
</pre></span>
-<span class="source-line-no">090</span><span id="line-90"> *</span>
-<span class="source-line-no">091</span><span id="line-91"> * <p></span>
-<span class="source-line-no">092</span><span id="line-92"> * The {@link
CSVParser} provides static methods to parse other input types, for
example:</span>
-<span class="source-line-no">093</span><span id="line-93"> * </p></span>
-<span class="source-line-no">094</span><span id="line-94"> *</span>
-<span class="source-line-no">095</span><span id="line-95"> * <pre></span>
-<span class="source-line-no">096</span><span id="line-96"> * CSVParser parser
= CSVParser.parse(file, StandardCharsets.US_ASCII, CSVFormat.EXCEL);</span>
-<span class="source-line-no">097</span><span id="line-97"> *
</pre></span>
-<span class="source-line-no">098</span><span id="line-98"> *</span>
-<span class="source-line-no">099</span><span id="line-99"> *
<h2>Defining formats</h2></span>
-<span class="source-line-no">100</span><span id="line-100"> *</span>
-<span class="source-line-no">101</span><span id="line-101"> * <p></span>
-<span class="source-line-no">102</span><span id="line-102"> * You can extend a
format by calling the {@code set} methods. For example:</span>
-<span class="source-line-no">103</span><span id="line-103"> * </p></span>
-<span class="source-line-no">104</span><span id="line-104"> *</span>
-<span class="source-line-no">105</span><span id="line-105"> *
<pre></span>
-<span class="source-line-no">106</span><span id="line-106"> *
CSVFormat.EXCEL.withNullString(&quot;N/A&quot;).withIgnoreSurroundingSpaces(true);</span>
-<span class="source-line-no">107</span><span id="line-107"> *
</pre></span>
-<span class="source-line-no">108</span><span id="line-108"> *</span>
-<span class="source-line-no">109</span><span id="line-109"> *
<h2>Defining column names</h2></span>
-<span class="source-line-no">110</span><span id="line-110"> *</span>
-<span class="source-line-no">111</span><span id="line-111"> * <p></span>
-<span class="source-line-no">112</span><span id="line-112"> * To define the
column names you want to use to access records, write:</span>
-<span class="source-line-no">113</span><span id="line-113"> * </p></span>
-<span class="source-line-no">114</span><span id="line-114"> *</span>
-<span class="source-line-no">115</span><span id="line-115"> *
<pre></span>
-<span class="source-line-no">116</span><span id="line-116"> *
CSVFormat.EXCEL.withHeader(&quot;Col1&quot;, &quot;Col2&quot;,
&quot;Col3&quot;);</span>
-<span class="source-line-no">117</span><span id="line-117"> *
</pre></span>
-<span class="source-line-no">118</span><span id="line-118"> *</span>
-<span class="source-line-no">119</span><span id="line-119"> * <p></span>
-<span class="source-line-no">120</span><span id="line-120"> * Calling {@link
Builder#setHeader(String...)} lets you use the given names to address values in
a {@link CSVRecord}, and assumes that your CSV source does not</span>
-<span class="source-line-no">121</span><span id="line-121"> * contain a first
record that also defines column names.</span>
-<span class="source-line-no">122</span><span id="line-122"> *</span>
-<span class="source-line-no">123</span><span id="line-123"> * If it does, then
you are overriding this metadata with your names and you should skip the first
record by calling</span>
-<span class="source-line-no">124</span><span id="line-124"> * {@link
Builder#setSkipHeaderRecord(boolean)} with {@code true}.</span>
-<span class="source-line-no">125</span><span id="line-125"> * </p></span>
-<span class="source-line-no">126</span><span id="line-126"> *</span>
-<span class="source-line-no">127</span><span id="line-127"> *
<h2>Parsing</h2></span>
+<span class="source-line-no">020</span><span id="line-20">import static
org.apache.commons.io.IOUtils.EOF;</span>
+<span class="source-line-no">021</span><span id="line-21"></span>
+<span class="source-line-no">022</span><span id="line-22">import
java.io.File;</span>
+<span class="source-line-no">023</span><span id="line-23">import
java.io.IOException;</span>
+<span class="source-line-no">024</span><span id="line-24">import
java.io.InputStream;</span>
+<span class="source-line-no">025</span><span id="line-25">import
java.io.OutputStream;</span>
+<span class="source-line-no">026</span><span id="line-26">import
java.io.Reader;</span>
+<span class="source-line-no">027</span><span id="line-27">import
java.io.Serializable;</span>
+<span class="source-line-no">028</span><span id="line-28">import
java.io.StringWriter;</span>
+<span class="source-line-no">029</span><span id="line-29">import
java.io.Writer;</span>
+<span class="source-line-no">030</span><span id="line-30">import
java.nio.charset.Charset;</span>
+<span class="source-line-no">031</span><span id="line-31">import
java.nio.file.Files;</span>
+<span class="source-line-no">032</span><span id="line-32">import
java.nio.file.Path;</span>
+<span class="source-line-no">033</span><span id="line-33">import
java.sql.ResultSet;</span>
+<span class="source-line-no">034</span><span id="line-34">import
java.sql.ResultSetMetaData;</span>
+<span class="source-line-no">035</span><span id="line-35">import
java.sql.SQLException;</span>
+<span class="source-line-no">036</span><span id="line-36">import
java.util.Arrays;</span>
+<span class="source-line-no">037</span><span id="line-37">import
java.util.HashSet;</span>
+<span class="source-line-no">038</span><span id="line-38">import
java.util.Objects;</span>
+<span class="source-line-no">039</span><span id="line-39">import
java.util.Set;</span>
+<span class="source-line-no">040</span><span id="line-40"></span>
+<span class="source-line-no">041</span><span id="line-41">import
org.apache.commons.codec.binary.Base64OutputStream;</span>
+<span class="source-line-no">042</span><span id="line-42">import
org.apache.commons.io.IOUtils;</span>
+<span class="source-line-no">043</span><span id="line-43">import
org.apache.commons.io.function.Uncheck;</span>
+<span class="source-line-no">044</span><span id="line-44">import
org.apache.commons.io.output.AppendableOutputStream;</span>
+<span class="source-line-no">045</span><span id="line-45"></span>
+<span class="source-line-no">046</span><span id="line-46">/**</span>
+<span class="source-line-no">047</span><span id="line-47"> * Specifies the
format of a CSV file for parsing and writing.</span>
+<span class="source-line-no">048</span><span id="line-48"> *</span>
+<span class="source-line-no">049</span><span id="line-49"> * <h2>Using
predefined formats</h2></span>
+<span class="source-line-no">050</span><span id="line-50"> *</span>
+<span class="source-line-no">051</span><span id="line-51"> * <p></span>
+<span class="source-line-no">052</span><span id="line-52"> * You can use one
of the predefined formats:</span>
+<span class="source-line-no">053</span><span id="line-53"> * </p></span>
+<span class="source-line-no">054</span><span id="line-54"> *</span>
+<span class="source-line-no">055</span><span id="line-55"> * <ul></span>
+<span class="source-line-no">056</span><span id="line-56"> * <li>{@link
#DEFAULT}</li></span>
+<span class="source-line-no">057</span><span id="line-57"> * <li>{@link
#EXCEL}</li></span>
+<span class="source-line-no">058</span><span id="line-58"> * <li>{@link
#INFORMIX_UNLOAD}</li></span>
+<span class="source-line-no">059</span><span id="line-59"> * <li>{@link
#INFORMIX_UNLOAD_CSV}</li></span>
+<span class="source-line-no">060</span><span id="line-60"> * <li>{@link
#MONGODB_CSV}</li></span>
+<span class="source-line-no">061</span><span id="line-61"> * <li>{@link
#MONGODB_TSV}</li></span>
+<span class="source-line-no">062</span><span id="line-62"> * <li>{@link
#MYSQL}</li></span>
+<span class="source-line-no">063</span><span id="line-63"> * <li>{@link
#ORACLE}</li></span>
+<span class="source-line-no">064</span><span id="line-64"> * <li>{@link
#POSTGRESQL_CSV}</li></span>
+<span class="source-line-no">065</span><span id="line-65"> * <li>{@link
#POSTGRESQL_TEXT}</li></span>
+<span class="source-line-no">066</span><span id="line-66"> * <li>{@link
#RFC4180}</li></span>
+<span class="source-line-no">067</span><span id="line-67"> * <li>{@link
#TDF}</li></span>
+<span class="source-line-no">068</span><span id="line-68"> * </ul></span>
+<span class="source-line-no">069</span><span id="line-69"> *</span>
+<span class="source-line-no">070</span><span id="line-70"> * <p></span>
+<span class="source-line-no">071</span><span id="line-71"> * For
example:</span>
+<span class="source-line-no">072</span><span id="line-72"> * </p></span>
+<span class="source-line-no">073</span><span id="line-73"> *</span>
+<span class="source-line-no">074</span><span id="line-74"> * <pre></span>
+<span class="source-line-no">075</span><span id="line-75"> * CSVParser parser
= CSVFormat.EXCEL.parse(reader);</span>
+<span class="source-line-no">076</span><span id="line-76"> *
</pre></span>
+<span class="source-line-no">077</span><span id="line-77"> *</span>
+<span class="source-line-no">078</span><span id="line-78"> * <p></span>
+<span class="source-line-no">079</span><span id="line-79"> * The {@link
CSVParser} provides static methods to parse other input types, for
example:</span>
+<span class="source-line-no">080</span><span id="line-80"> * </p></span>
+<span class="source-line-no">081</span><span id="line-81"> *</span>
+<span class="source-line-no">082</span><span id="line-82"> * <pre></span>
+<span class="source-line-no">083</span><span id="line-83"> * CSVParser parser
= CSVParser.parse(file, StandardCharsets.US_ASCII, CSVFormat.EXCEL);</span>
+<span class="source-line-no">084</span><span id="line-84"> *
</pre></span>
+<span class="source-line-no">085</span><span id="line-85"> *</span>
+<span class="source-line-no">086</span><span id="line-86"> *
<h2>Defining formats</h2></span>
+<span class="source-line-no">087</span><span id="line-87"> *</span>
+<span class="source-line-no">088</span><span id="line-88"> * <p></span>
+<span class="source-line-no">089</span><span id="line-89"> * You can extend a
format by calling the {@code set} methods. For example:</span>
+<span class="source-line-no">090</span><span id="line-90"> * </p></span>
+<span class="source-line-no">091</span><span id="line-91"> *</span>
+<span class="source-line-no">092</span><span id="line-92"> *
<pre>{@code</span>
+<span class="source-line-no">093</span><span id="line-93"> *
CSVFormat.EXCEL.withNullString("N/A").withIgnoreSurroundingSpaces(true);</span>
+<span class="source-line-no">094</span><span id="line-94"> *
}</pre></span>
+<span class="source-line-no">095</span><span id="line-95"> *</span>
+<span class="source-line-no">096</span><span id="line-96"> *
<h2>Defining column names</h2></span>
+<span class="source-line-no">097</span><span id="line-97"> *</span>
+<span class="source-line-no">098</span><span id="line-98"> * <p></span>
+<span class="source-line-no">099</span><span id="line-99"> * To define the
column names you want to use to access records, write:</span>
+<span class="source-line-no">100</span><span id="line-100"> * </p></span>
+<span class="source-line-no">101</span><span id="line-101"> *</span>
+<span class="source-line-no">102</span><span id="line-102"> *
<pre>{@code</span>
+<span class="source-line-no">103</span><span id="line-103"> *
CSVFormat.EXCEL.withHeader("Col1", "Col2", "Col3");</span>
+<span class="source-line-no">104</span><span id="line-104"> *
}</pre></span>
+<span class="source-line-no">105</span><span id="line-105"> *</span>
+<span class="source-line-no">106</span><span id="line-106"> * <p></span>
+<span class="source-line-no">107</span><span id="line-107"> * Calling {@link
Builder#setHeader(String...)} lets you use the given names to address values in
a {@link CSVRecord}, and assumes that your CSV source does not</span>
+<span class="source-line-no">108</span><span id="line-108"> * contain a first
record that also defines column names.</span>
+<span class="source-line-no">109</span><span id="line-109"> *</span>
+<span class="source-line-no">110</span><span id="line-110"> * If it does, then
you are overriding this metadata with your names and you should skip the first
record by calling</span>
+<span class="source-line-no">111</span><span id="line-111"> * {@link
Builder#setSkipHeaderRecord(boolean)} with {@code true}.</span>
+<span class="source-line-no">112</span><span id="line-112"> * </p></span>
+<span class="source-line-no">113</span><span id="line-113"> *</span>
+<span class="source-line-no">114</span><span id="line-114"> *
<h2>Parsing</h2></span>
+<span class="source-line-no">115</span><span id="line-115"> *</span>
+<span class="source-line-no">116</span><span id="line-116"> * <p></span>
+<span class="source-line-no">117</span><span id="line-117"> * You can use a
format directly to parse a reader. For example, to parse an Excel file with
columns header, write:</span>
+<span class="source-line-no">118</span><span id="line-118"> * </p></span>
+<span class="source-line-no">119</span><span id="line-119"> *</span>
+<span class="source-line-no">120</span><span id="line-120"> *
<pre>{@code</span>
+<span class="source-line-no">121</span><span id="line-121"> * Reader in =
...;</span>
+<span class="source-line-no">122</span><span id="line-122"> *
CSVFormat.EXCEL.withHeader("Col1", "Col2", "Col3").parse(in);</span>
+<span class="source-line-no">123</span><span id="line-123"> *
}</pre></span>
+<span class="source-line-no">124</span><span id="line-124"> *</span>
+<span class="source-line-no">125</span><span id="line-125"> * <p></span>
+<span class="source-line-no">126</span><span id="line-126"> * For other input
types, like resources, files, and URLs, use the static methods on {@link
CSVParser}.</span>
+<span class="source-line-no">127</span><span id="line-127"> * </p></span>
<span class="source-line-no">128</span><span id="line-128"> *</span>
-<span class="source-line-no">129</span><span id="line-129"> * <p></span>
-<span class="source-line-no">130</span><span id="line-130"> * You can use a
format directly to parse a reader. For example, to parse an Excel file with
columns header, write:</span>
-<span class="source-line-no">131</span><span id="line-131"> * </p></span>
-<span class="source-line-no">132</span><span id="line-132"> *</span>
-<span class="source-line-no">133</span><span id="line-133"> *
<pre></span>
-<span class="source-line-no">134</span><span id="line-134"> * Reader in =
...;</span>
-<span class="source-line-no">135</span><span id="line-135"> *
CSVFormat.EXCEL.withHeader(&quot;Col1&quot;, &quot;Col2&quot;,
&quot;Col3&quot;).parse(in);</span>
-<span class="source-line-no">136</span><span id="line-136"> *
</pre></span>
-<span class="source-line-no">137</span><span id="line-137"> *</span>
-<span class="source-line-no">138</span><span id="line-138"> * <p></span>
-<span class="source-line-no">139</span><span id="line-139"> * For other input
types, like resources, files, and URLs, use the static methods on {@link
CSVParser}.</span>
-<span class="source-line-no">140</span><span id="line-140"> * </p></span>
-<span class="source-line-no">141</span><span id="line-141"> *</span>
-<span class="source-line-no">142</span><span id="line-142"> *
<h2>Referencing columns safely</h2></span>
-<span class="source-line-no">143</span><span id="line-143"> *</span>
-<span class="source-line-no">144</span><span id="line-144"> * <p></span>
-<span class="source-line-no">145</span><span id="line-145"> * If your source
contains a header record, you can simplify your code and safely reference
columns, by using {@link Builder#setHeader(String...)} with no</span>
-<span class="source-line-no">146</span><span id="line-146"> * arguments:</span>
-<span class="source-line-no">147</span><span id="line-147"> * </p></span>
-<span class="source-line-no">148</span><span id="line-148"> *</span>
-<span class="source-line-no">149</span><span id="line-149"> *
<pre></span>
-<span class="source-line-no">150</span><span id="line-150"> *
CSVFormat.EXCEL.withHeader();</span>
-<span class="source-line-no">151</span><span id="line-151"> *
</pre></span>
-<span class="source-line-no">152</span><span id="line-152"> *</span>
-<span class="source-line-no">153</span><span id="line-153"> * <p></span>
-<span class="source-line-no">154</span><span id="line-154"> * This causes the
parser to read the first record and use its values as column names.</span>
-<span class="source-line-no">155</span><span id="line-155"> *</span>
-<span class="source-line-no">156</span><span id="line-156"> * Then, call one
of the {@link CSVRecord} get method that takes a String column name
argument:</span>
+<span class="source-line-no">129</span><span id="line-129"> *
<h2>Referencing columns safely</h2></span>
+<span class="source-line-no">130</span><span id="line-130"> *</span>
+<span class="source-line-no">131</span><span id="line-131"> * <p></span>
+<span class="source-line-no">132</span><span id="line-132"> * If your source
contains a header record, you can simplify your code and safely reference
columns, by using {@link Builder#setHeader(String...)} with no</span>
+<span class="source-line-no">133</span><span id="line-133"> * arguments:</span>
+<span class="source-line-no">134</span><span id="line-134"> * </p></span>
+<span class="source-line-no">135</span><span id="line-135"> *</span>
+<span class="source-line-no">136</span><span id="line-136"> *
<pre></span>
+<span class="source-line-no">137</span><span id="line-137"> *
CSVFormat.EXCEL.withHeader();</span>
+<span class="source-line-no">138</span><span id="line-138"> *
</pre></span>
+<span class="source-line-no">139</span><span id="line-139"> *</span>
+<span class="source-line-no">140</span><span id="line-140"> * <p></span>
+<span class="source-line-no">141</span><span id="line-141"> * This causes the
parser to read the first record and use its values as column names.</span>
+<span class="source-line-no">142</span><span id="line-142"> *</span>
+<span class="source-line-no">143</span><span id="line-143"> * Then, call one
of the {@link CSVRecord} get method that takes a String column name
argument:</span>
+<span class="source-line-no">144</span><span id="line-144"> * </p></span>
+<span class="source-line-no">145</span><span id="line-145"> *</span>
+<span class="source-line-no">146</span><span id="line-146"> *
<pre>{@code</span>
+<span class="source-line-no">147</span><span id="line-147"> * String value =
record.get("Col1");</span>
+<span class="source-line-no">148</span><span id="line-148"> *
}</pre></span>
+<span class="source-line-no">149</span><span id="line-149"> *</span>
+<span class="source-line-no">150</span><span id="line-150"> * <p></span>
+<span class="source-line-no">151</span><span id="line-151"> * This makes your
code impervious to changes in column order in the CSV file.</span>
+<span class="source-line-no">152</span><span id="line-152"> * </p></span>
+<span class="source-line-no">153</span><span id="line-153"> *</span>
+<span class="source-line-no">154</span><span id="line-154"> *
<h2>Serialization</h2></span>
+<span class="source-line-no">155</span><span id="line-155"> * <p></span>
+<span class="source-line-no">156</span><span id="line-156"> * This class
implements the {@link Serializable} interface with the following caveats:</span>
<span class="source-line-no">157</span><span id="line-157"> * </p></span>
-<span class="source-line-no">158</span><span id="line-158"> *</span>
-<span class="source-line-no">159</span><span id="line-159"> *
<pre></span>
-<span class="source-line-no">160</span><span id="line-160"> * String value =
record.get(&quot;Col1&quot;);</span>
-<span class="source-line-no">161</span><span id="line-161"> *
</pre></span>
-<span class="source-line-no">162</span><span id="line-162"> *</span>
-<span class="source-line-no">163</span><span id="line-163"> * <p></span>
-<span class="source-line-no">164</span><span id="line-164"> * This makes your
code impervious to changes in column order in the CSV file.</span>
-<span class="source-line-no">165</span><span id="line-165"> * </p></span>
-<span class="source-line-no">166</span><span id="line-166"> *</span>
-<span class="source-line-no">167</span><span id="line-167"> *
<h2>Serialization</h2></span>
-<span class="source-line-no">168</span><span id="line-168"> * <p></span>
-<span class="source-line-no">169</span><span id="line-169"> * This class
implements the {@link Serializable} interface with the following caveats:</span>
-<span class="source-line-no">170</span><span id="line-170"> * </p></span>
-<span class="source-line-no">171</span><span id="line-171"> * <ul></span>
-<span class="source-line-no">172</span><span id="line-172"> * <li>This
class will no longer implement Serializable in 2.0.</li></span>
-<span class="source-line-no">173</span><span id="line-173"> *
<li>Serialization is not supported from one version to the
next.</li></span>
-<span class="source-line-no">174</span><span id="line-174"> *
</ul></span>
-<span class="source-line-no">175</span><span id="line-175"> * <p></span>
-<span class="source-line-no">176</span><span id="line-176"> * The {@code
serialVersionUID} values are:</span>
-<span class="source-line-no">177</span><span id="line-177"> * </p></span>
-<span class="source-line-no">178</span><span id="line-178"> * <ul></span>
-<span class="source-line-no">179</span><span id="line-179"> *
<li>Version 1.10.0: {@code 2L}</li></span>
-<span class="source-line-no">180</span><span id="line-180"> *
<li>Version 1.9.0 through 1.0: {@code 1L}</li></span>
-<span class="source-line-no">181</span><span id="line-181"> *
</ul></span>
-<span class="source-line-no">182</span><span id="line-182"> *</span>
-<span class="source-line-no">183</span><span id="line-183"> *
<h2>Notes</h2></span>
-<span class="source-line-no">184</span><span id="line-184"> * <p></span>
-<span class="source-line-no">185</span><span id="line-185"> * This class is
immutable.</span>
-<span class="source-line-no">186</span><span id="line-186"> * </p></span>
-<span class="source-line-no">187</span><span id="line-187"> * <p></span>
-<span class="source-line-no">188</span><span id="line-188"> * Not all settings
are used for both parsing and writing.</span>
-<span class="source-line-no">189</span><span id="line-189"> * </p></span>
-<span class="source-line-no">190</span><span id="line-190"> */</span>
-<span class="source-line-no">191</span><span id="line-191">public final class
CSVFormat implements Serializable {</span>
-<span class="source-line-no">192</span><span id="line-192"></span>
-<span class="source-line-no">193</span><span id="line-193"> /**</span>
-<span class="source-line-no">194</span><span id="line-194"> * Builds
CSVFormat instances.</span>
-<span class="source-line-no">195</span><span id="line-195"> *</span>
-<span class="source-line-no">196</span><span id="line-196"> * @since
1.9.0</span>
-<span class="source-line-no">197</span><span id="line-197"> */</span>
-<span class="source-line-no">198</span><span id="line-198"> public static
class Builder {</span>
-<span class="source-line-no">199</span><span id="line-199"></span>
-<span class="source-line-no">200</span><span id="line-200"> /**</span>
-<span class="source-line-no">201</span><span id="line-201"> * Creates
a new default builder.</span>
-<span class="source-line-no">202</span><span id="line-202"> *</span>
-<span class="source-line-no">203</span><span id="line-203"> * @return
a copy of the builder</span>
-<span class="source-line-no">204</span><span id="line-204"> */</span>
-<span class="source-line-no">205</span><span id="line-205"> public
static Builder create() {</span>
-<span class="source-line-no">206</span><span id="line-206"> return
new Builder(CSVFormat.DEFAULT);</span>
-<span class="source-line-no">207</span><span id="line-207"> }</span>
-<span class="source-line-no">208</span><span id="line-208"></span>
-<span class="source-line-no">209</span><span id="line-209"> /**</span>
-<span class="source-line-no">210</span><span id="line-210"> * Creates
a new builder for the given format.</span>
-<span class="source-line-no">211</span><span id="line-211"> *</span>
-<span class="source-line-no">212</span><span id="line-212"> * @param
csvFormat the source format.</span>
-<span class="source-line-no">213</span><span id="line-213"> * @return
a copy of the builder</span>
-<span class="source-line-no">214</span><span id="line-214"> */</span>
-<span class="source-line-no">215</span><span id="line-215"> public
static Builder create(final CSVFormat csvFormat) {</span>
-<span class="source-line-no">216</span><span id="line-216"> return
new Builder(csvFormat);</span>
-<span class="source-line-no">217</span><span id="line-217"> }</span>
-<span class="source-line-no">218</span><span id="line-218"></span>
-<span class="source-line-no">219</span><span id="line-219"> private
boolean allowMissingColumnNames;</span>
-<span class="source-line-no">220</span><span id="line-220"></span>
-<span class="source-line-no">221</span><span id="line-221"> private
boolean autoFlush;</span>
-<span class="source-line-no">222</span><span id="line-222"></span>
-<span class="source-line-no">223</span><span id="line-223"> private
Character commentMarker;</span>
-<span class="source-line-no">224</span><span id="line-224"></span>
-<span class="source-line-no">225</span><span id="line-225"> private
String delimiter;</span>
-<span class="source-line-no">226</span><span id="line-226"></span>
-<span class="source-line-no">227</span><span id="line-227"> private
DuplicateHeaderMode duplicateHeaderMode;</span>
-<span class="source-line-no">228</span><span id="line-228"></span>
-<span class="source-line-no">229</span><span id="line-229"> private
Character escapeCharacter;</span>
-<span class="source-line-no">230</span><span id="line-230"></span>
-<span class="source-line-no">231</span><span id="line-231"> private
String[] headerComments;</span>
-<span class="source-line-no">232</span><span id="line-232"></span>
-<span class="source-line-no">233</span><span id="line-233"> private
String[] headers;</span>
-<span class="source-line-no">234</span><span id="line-234"></span>
-<span class="source-line-no">235</span><span id="line-235"> private
boolean ignoreEmptyLines;</span>
-<span class="source-line-no">236</span><span id="line-236"></span>
-<span class="source-line-no">237</span><span id="line-237"> private
boolean ignoreHeaderCase;</span>
-<span class="source-line-no">238</span><span id="line-238"></span>
-<span class="source-line-no">239</span><span id="line-239"> private
boolean ignoreSurroundingSpaces;</span>
-<span class="source-line-no">240</span><span id="line-240"></span>
-<span class="source-line-no">241</span><span id="line-241"> private
String nullString;</span>
-<span class="source-line-no">242</span><span id="line-242"></span>
-<span class="source-line-no">243</span><span id="line-243"> private
Character quoteCharacter;</span>
-<span class="source-line-no">244</span><span id="line-244"></span>
-<span class="source-line-no">245</span><span id="line-245"> private
String quotedNullString;</span>
-<span class="source-line-no">246</span><span id="line-246"></span>
-<span class="source-line-no">247</span><span id="line-247"> private
QuoteMode quoteMode;</span>
-<span class="source-line-no">248</span><span id="line-248"></span>
-<span class="source-line-no">249</span><span id="line-249"> private
String recordSeparator;</span>
-<span class="source-line-no">250</span><span id="line-250"></span>
-<span class="source-line-no">251</span><span id="line-251"> private
boolean skipHeaderRecord;</span>
-<span class="source-line-no">252</span><span id="line-252"></span>
-<span class="source-line-no">253</span><span id="line-253"> private
boolean lenientEof;</span>
-<span class="source-line-no">254</span><span id="line-254"></span>
-<span class="source-line-no">255</span><span id="line-255"> private
boolean trailingData;</span>
-<span class="source-line-no">256</span><span id="line-256"></span>
-<span class="source-line-no">257</span><span id="line-257"> private
boolean trailingDelimiter;</span>
-<span class="source-line-no">258</span><span id="line-258"></span>
-<span class="source-line-no">259</span><span id="line-259"> private
boolean trim;</span>
-<span class="source-line-no">260</span><span id="line-260"></span>
-<span class="source-line-no">261</span><span id="line-261"> private
Builder(final CSVFormat csvFormat) {</span>
-<span class="source-line-no">262</span><span id="line-262">
this.delimiter = csvFormat.delimiter;</span>
-<span class="source-line-no">263</span><span id="line-263">
this.quoteCharacter = csvFormat.quoteCharacter;</span>
-<span class="source-line-no">264</span><span id="line-264">
this.quoteMode = csvFormat.quoteMode;</span>
-<span class="source-line-no">265</span><span id="line-265">
this.commentMarker = csvFormat.commentMarker;</span>
-<span class="source-line-no">266</span><span id="line-266">
this.escapeCharacter = csvFormat.escapeCharacter;</span>
-<span class="source-line-no">267</span><span id="line-267">
this.ignoreSurroundingSpaces = csvFormat.ignoreSurroundingSpaces;</span>
-<span class="source-line-no">268</span><span id="line-268">
this.allowMissingColumnNames = csvFormat.allowMissingColumnNames;</span>
-<span class="source-line-no">269</span><span id="line-269">
this.ignoreEmptyLines = csvFormat.ignoreEmptyLines;</span>
-<span class="source-line-no">270</span><span id="line-270">
this.recordSeparator = csvFormat.recordSeparator;</span>
-<span class="source-line-no">271</span><span id="line-271">
this.nullString = csvFormat.nullString;</span>
-<span class="source-line-no">272</span><span id="line-272">
this.headerComments = csvFormat.headerComments;</span>
-<span class="source-line-no">273</span><span id="line-273">
this.headers = csvFormat.headers;</span>
-<span class="source-line-no">274</span><span id="line-274">
this.skipHeaderRecord = csvFormat.skipHeaderRecord;</span>
-<span class="source-line-no">275</span><span id="line-275">
this.ignoreHeaderCase = csvFormat.ignoreHeaderCase;</span>
-<span class="source-line-no">276</span><span id="line-276">
this.lenientEof = csvFormat.lenientEof;</span>
-<span class="source-line-no">277</span><span id="line-277">
this.trailingData = csvFormat.trailingData;</span>
-<span class="source-line-no">278</span><span id="line-278">
this.trailingDelimiter = csvFormat.trailingDelimiter;</span>
-<span class="source-line-no">279</span><span id="line-279">
this.trim = csvFormat.trim;</span>
-<span class="source-line-no">280</span><span id="line-280">
this.autoFlush = csvFormat.autoFlush;</span>
-<span class="source-line-no">281</span><span id="line-281">
this.quotedNullString = csvFormat.quotedNullString;</span>
-<span class="source-line-no">282</span><span id="line-282">
this.duplicateHeaderMode = csvFormat.duplicateHeaderMode;</span>
-<span class="source-line-no">283</span><span id="line-283"> }</span>
-<span class="source-line-no">284</span><span id="line-284"></span>
-<span class="source-line-no">285</span><span id="line-285"> /**</span>
-<span class="source-line-no">286</span><span id="line-286"> * Builds a
new CSVFormat instance.</span>
-<span class="source-line-no">287</span><span id="line-287"> *</span>
-<span class="source-line-no">288</span><span id="line-288"> * @return
a new CSVFormat instance.</span>
-<span class="source-line-no">289</span><span id="line-289"> */</span>
-<span class="source-line-no">290</span><span id="line-290"> public
CSVFormat build() {</span>
-<span class="source-line-no">291</span><span id="line-291"> return
new CSVFormat(this);</span>
+<span class="source-line-no">158</span><span id="line-158"> * <ul></span>
+<span class="source-line-no">159</span><span id="line-159"> * <li>This
class will no longer implement Serializable in 2.0.</li></span>
+<span class="source-line-no">160</span><span id="line-160"> *
<li>Serialization is not supported from one version to the
next.</li></span>
+<span class="source-line-no">161</span><span id="line-161"> *
</ul></span>
+<span class="source-line-no">162</span><span id="line-162"> * <p></span>
+<span class="source-line-no">163</span><span id="line-163"> * The {@code
serialVersionUID} values are:</span>
+<span class="source-line-no">164</span><span id="line-164"> * </p></span>
+<span class="source-line-no">165</span><span id="line-165"> * <ul></span>
+<span class="source-line-no">166</span><span id="line-166"> *
<li>Version 1.10.0: {@code 2L}</li></span>
+<span class="source-line-no">167</span><span id="line-167"> *
<li>Version 1.9.0 through 1.0: {@code 1L}</li></span>
+<span class="source-line-no">168</span><span id="line-168"> *
</ul></span>
+<span class="source-line-no">169</span><span id="line-169"> *</span>
+<span class="source-line-no">170</span><span id="line-170"> *
<h2>Notes</h2></span>
+<span class="source-line-no">171</span><span id="line-171"> * <p></span>
+<span class="source-line-no">172</span><span id="line-172"> * This class is
immutable.</span>
+<span class="source-line-no">173</span><span id="line-173"> * </p></span>
+<span class="source-line-no">174</span><span id="line-174"> * <p></span>
+<span class="source-line-no">175</span><span id="line-175"> * Not all settings
are used for both parsing and writing.</span>
+<span class="source-line-no">176</span><span id="line-176"> * </p></span>
+<span class="source-line-no">177</span><span id="line-177"> */</span>
+<span class="source-line-no">178</span><span id="line-178">public final class
CSVFormat implements Serializable {</span>
+<span class="source-line-no">179</span><span id="line-179"></span>
+<span class="source-line-no">180</span><span id="line-180"> /**</span>
+<span class="source-line-no">181</span><span id="line-181"> * Builds
CSVFormat instances.</span>
+<span class="source-line-no">182</span><span id="line-182"> *</span>
+<span class="source-line-no">183</span><span id="line-183"> * @since
1.9.0</span>
+<span class="source-line-no">184</span><span id="line-184"> */</span>
+<span class="source-line-no">185</span><span id="line-185"> public static
class Builder {</span>
+<span class="source-line-no">186</span><span id="line-186"></span>
+<span class="source-line-no">187</span><span id="line-187"> /**</span>
+<span class="source-line-no">188</span><span id="line-188"> * Creates
a new default builder.</span>
+<span class="source-line-no">189</span><span id="line-189"> *</span>
+<span class="source-line-no">190</span><span id="line-190"> * @return
a copy of the builder</span>
+<span class="source-line-no">191</span><span id="line-191"> */</span>
+<span class="source-line-no">192</span><span id="line-192"> public
static Builder create() {</span>
+<span class="source-line-no">193</span><span id="line-193"> return
new Builder(DEFAULT);</span>
+<span class="source-line-no">194</span><span id="line-194"> }</span>
+<span class="source-line-no">195</span><span id="line-195"></span>
+<span class="source-line-no">196</span><span id="line-196"> /**</span>
+<span class="source-line-no">197</span><span id="line-197"> * Creates
a new builder for the given format.</span>
+<span class="source-line-no">198</span><span id="line-198"> *</span>
+<span class="source-line-no">199</span><span id="line-199"> * @param
csvFormat the source format.</span>
+<span class="source-line-no">200</span><span id="line-200"> * @return
a copy of the builder</span>
+<span class="source-line-no">201</span><span id="line-201"> */</span>
+<span class="source-line-no">202</span><span id="line-202"> public
static Builder create(final CSVFormat csvFormat) {</span>
+<span class="source-line-no">203</span><span id="line-203"> return
new Builder(csvFormat);</span>
+<span class="source-line-no">204</span><span id="line-204"> }</span>
+<span class="source-line-no">205</span><span id="line-205"></span>
+<span class="source-line-no">206</span><span id="line-206"> private
boolean allowMissingColumnNames;</span>
+<span class="source-line-no">207</span><span id="line-207"></span>
+<span class="source-line-no">208</span><span id="line-208"> private
boolean autoFlush;</span>
+<span class="source-line-no">209</span><span id="line-209"></span>
+<span class="source-line-no">210</span><span id="line-210"> private
Character commentMarker;</span>
+<span class="source-line-no">211</span><span id="line-211"></span>
+<span class="source-line-no">212</span><span id="line-212"> private
String delimiter;</span>
+<span class="source-line-no">213</span><span id="line-213"></span>
+<span class="source-line-no">214</span><span id="line-214"> private
DuplicateHeaderMode duplicateHeaderMode;</span>
+<span class="source-line-no">215</span><span id="line-215"></span>
+<span class="source-line-no">216</span><span id="line-216"> private
Character escapeCharacter;</span>
+<span class="source-line-no">217</span><span id="line-217"></span>
+<span class="source-line-no">218</span><span id="line-218"> private
String[] headerComments;</span>
+<span class="source-line-no">219</span><span id="line-219"></span>
+<span class="source-line-no">220</span><span id="line-220"> private
String[] headers;</span>
+<span class="source-line-no">221</span><span id="line-221"></span>
+<span class="source-line-no">222</span><span id="line-222"> private
boolean ignoreEmptyLines;</span>
+<span class="source-line-no">223</span><span id="line-223"></span>
+<span class="source-line-no">224</span><span id="line-224"> private
boolean ignoreHeaderCase;</span>
+<span class="source-line-no">225</span><span id="line-225"></span>
+<span class="source-line-no">226</span><span id="line-226"> private
boolean ignoreSurroundingSpaces;</span>
+<span class="source-line-no">227</span><span id="line-227"></span>
+<span class="source-line-no">228</span><span id="line-228"> private
String nullString;</span>
+<span class="source-line-no">229</span><span id="line-229"></span>
+<span class="source-line-no">230</span><span id="line-230"> private
Character quoteCharacter;</span>
+<span class="source-line-no">231</span><span id="line-231"></span>
+<span class="source-line-no">232</span><span id="line-232"> private
String quotedNullString;</span>
+<span class="source-line-no">233</span><span id="line-233"></span>
+<span class="source-line-no">234</span><span id="line-234"> private
QuoteMode quoteMode;</span>
+<span class="source-line-no">235</span><span id="line-235"></span>
+<span class="source-line-no">236</span><span id="line-236"> private
String recordSeparator;</span>
+<span class="source-line-no">237</span><span id="line-237"></span>
+<span class="source-line-no">238</span><span id="line-238"> private
boolean skipHeaderRecord;</span>
+<span class="source-line-no">239</span><span id="line-239"></span>
+<span class="source-line-no">240</span><span id="line-240"> private
boolean lenientEof;</span>
+<span class="source-line-no">241</span><span id="line-241"></span>
+<span class="source-line-no">242</span><span id="line-242"> private
boolean trailingData;</span>
+<span class="source-line-no">243</span><span id="line-243"></span>
+<span class="source-line-no">244</span><span id="line-244"> private
boolean trailingDelimiter;</span>
+<span class="source-line-no">245</span><span id="line-245"></span>
+<span class="source-line-no">246</span><span id="line-246"> private
boolean trim;</span>
+<span class="source-line-no">247</span><span id="line-247"></span>
+<span class="source-line-no">248</span><span id="line-248"> private
Builder(final CSVFormat csvFormat) {</span>
+<span class="source-line-no">249</span><span id="line-249">
this.delimiter = csvFormat.delimiter;</span>
+<span class="source-line-no">250</span><span id="line-250">
this.quoteCharacter = csvFormat.quoteCharacter;</span>
+<span class="source-line-no">251</span><span id="line-251">
this.quoteMode = csvFormat.quoteMode;</span>
+<span class="source-line-no">252</span><span id="line-252">
this.commentMarker = csvFormat.commentMarker;</span>
+<span class="source-line-no">253</span><span id="line-253">
this.escapeCharacter = csvFormat.escapeCharacter;</span>
+<span class="source-line-no">254</span><span id="line-254">
this.ignoreSurroundingSpaces = csvFormat.ignoreSurroundingSpaces;</span>
+<span class="source-line-no">255</span><span id="line-255">
this.allowMissingColumnNames = csvFormat.allowMissingColumnNames;</span>
+<span class="source-line-no">256</span><span id="line-256">
this.ignoreEmptyLines = csvFormat.ignoreEmptyLines;</span>
+<span class="source-line-no">257</span><span id="line-257">
this.recordSeparator = csvFormat.recordSeparator;</span>
+<span class="source-line-no">258</span><span id="line-258">
this.nullString = csvFormat.nullString;</span>
+<span class="source-line-no">259</span><span id="line-259">
this.headerComments = csvFormat.headerComments;</span>
+<span class="source-line-no">260</span><span id="line-260">
this.headers = csvFormat.headers;</span>
+<span class="source-line-no">261</span><span id="line-261">
this.skipHeaderRecord = csvFormat.skipHeaderRecord;</span>
+<span class="source-line-no">262</span><span id="line-262">
this.ignoreHeaderCase = csvFormat.ignoreHeaderCase;</span>
+<span class="source-line-no">263</span><span id="line-263">
this.lenientEof = csvFormat.lenientEof;</span>
+<span class="source-line-no">264</span><span id="line-264">
this.trailingData = csvFormat.trailingData;</span>
+<span class="source-line-no">265</span><span id="line-265">
this.trailingDelimiter = csvFormat.trailingDelimiter;</span>
+<span class="source-line-no">266</span><span id="line-266">
this.trim = csvFormat.trim;</span>
+<span class="source-line-no">267</span><span id="line-267">
this.autoFlush = csvFormat.autoFlush;</span>
+<span class="source-line-no">268</span><span id="line-268">
this.quotedNullString = csvFormat.quotedNullString;</span>
+<span class="source-line-no">269</span><span id="line-269">
this.duplicateHeaderMode = csvFormat.duplicateHeaderMode;</span>
+<span class="source-line-no">270</span><span id="line-270"> }</span>
+<span class="source-line-no">271</span><span id="line-271"></span>
+<span class="source-line-no">272</span><span id="line-272"> /**</span>
+<span class="source-line-no">273</span><span id="line-273"> * Builds a
new CSVFormat instance.</span>
+<span class="source-line-no">274</span><span id="line-274"> *</span>
+<span class="source-line-no">275</span><span id="line-275"> * @return
a new CSVFormat instance.</span>
+<span class="source-line-no">276</span><span id="line-276"> */</span>
+<span class="source-line-no">277</span><span id="line-277"> public
CSVFormat build() {</span>
+<span class="source-line-no">278</span><span id="line-278"> return
new CSVFormat(this);</span>
+<span class="source-line-no">279</span><span id="line-279"> }</span>
+<span class="source-line-no">280</span><span id="line-280"></span>
+<span class="source-line-no">281</span><span id="line-281"> /**</span>
+<span class="source-line-no">282</span><span id="line-282"> * Sets the
duplicate header names behavior, true to allow, false to disallow.</span>
+<span class="source-line-no">283</span><span id="line-283"> *</span>
+<span class="source-line-no">284</span><span id="line-284"> * @param
allowDuplicateHeaderNames the duplicate header names behavior, true to allow,
false to disallow.</span>
+<span class="source-line-no">285</span><span id="line-285"> * @return
This instance.</span>
+<span class="source-line-no">286</span><span id="line-286"> *
@deprecated Use {@link #setDuplicateHeaderMode(DuplicateHeaderMode)}.</span>
+<span class="source-line-no">287</span><span id="line-287"> */</span>
+<span class="source-line-no">288</span><span id="line-288">
@Deprecated</span>
+<span class="source-line-no">289</span><span id="line-289"> public
Builder setAllowDuplicateHeaderNames(final boolean allowDuplicateHeaderNames)
{</span>
+<span class="source-line-no">290</span><span id="line-290">
setDuplicateHeaderMode(allowDuplicateHeaderNames ?
DuplicateHeaderMode.ALLOW_ALL : DuplicateHeaderMode.ALLOW_EMPTY);</span>
+<span class="source-line-no">291</span><span id="line-291"> return
this;</span>
<span class="source-line-no">292</span><span id="line-292"> }</span>
<span class="source-line-no">293</span><span id="line-293"></span>
<span class="source-line-no">294</span><span id="line-294"> /**</span>
-<span class="source-line-no">295</span><span id="line-295"> * Sets the
duplicate header names behavior, true to allow, false to disallow.</span>
-<span class="source-line-no">296</span><span id="line-296"> *</span>
-<span class="source-line-no">297</span><span id="line-297"> * @param
allowDuplicateHeaderNames the duplicate header names behavior, true to allow,
false to disallow.</span>
-<span class="source-line-no">298</span><span id="line-298"> * @return
This instance.</span>
-<span class="source-line-no">299</span><span id="line-299"> *
@deprecated Use {@link #setDuplicateHeaderMode(DuplicateHeaderMode)}.</span>
-<span class="source-line-no">300</span><span id="line-300"> */</span>
-<span class="source-line-no">301</span><span id="line-301">
@Deprecated</span>
-<span class="source-line-no">302</span><span id="line-302"> public
Builder setAllowDuplicateHeaderNames(final boolean allowDuplicateHeaderNames)
{</span>
-<span class="source-line-no">303</span><span id="line-303">
setDuplicateHeaderMode(allowDuplicateHeaderNames ?
DuplicateHeaderMode.ALLOW_ALL : DuplicateHeaderMode.ALLOW_EMPTY);</span>
+<span class="source-line-no">295</span><span id="line-295"> * Sets the
parser missing column names behavior, {@code true} to allow missing column
names in the header line, {@code false} to cause an</span>
+<span class="source-line-no">296</span><span id="line-296"> * {@link
IllegalArgumentException} to be thrown.</span>
+<span class="source-line-no">297</span><span id="line-297"> *</span>
+<span class="source-line-no">298</span><span id="line-298"> * @param
allowMissingColumnNames the missing column names behavior, {@code true} to
allow missing column names in the header line, {@code false} to</span>
+<span class="source-line-no">299</span><span id="line-299"> *
cause an {@link IllegalArgumentException} to be
thrown.</span>
+<span class="source-line-no">300</span><span id="line-300"> * @return
This instance.</span>
+<span class="source-line-no">301</span><span id="line-301"> */</span>
+<span class="source-line-no">302</span><span id="line-302"> public
Builder setAllowMissingColumnNames(final boolean allowMissingColumnNames)
{</span>
+<span class="source-line-no">303</span><span id="line-303">
this.allowMissingColumnNames = allowMissingColumnNames;</span>
<span class="source-line-no">304</span><span id="line-304"> return
this;</span>
<span class="source-line-no">305</span><span id="line-305"> }</span>
<span class="source-line-no">306</span><span id="line-306"></span>
<span class="source-line-no">307</span><span id="line-307"> /**</span>
-<span class="source-line-no">308</span><span id="line-308"> * Sets the
parser missing column names behavior, {@code true} to allow missing column
names in the header line, {@code false} to cause an</span>
-<span class="source-line-no">309</span><span id="line-309"> * {@link
IllegalArgumentException} to be thrown.</span>
-<span class="source-line-no">310</span><span id="line-310"> *</span>
-<span class="source-line-no">311</span><span id="line-311"> * @param
allowMissingColumnNames the missing column names behavior, {@code true} to
allow missing column names in the header line, {@code false} to</span>
-<span class="source-line-no">312</span><span id="line-312"> *
cause an {@link IllegalArgumentException} to be
thrown.</span>
-<span class="source-line-no">313</span><span id="line-313"> * @return
This instance.</span>
-<span class="source-line-no">314</span><span id="line-314"> */</span>
-<span class="source-line-no">315</span><span id="line-315"> public
Builder setAllowMissingColumnNames(final boolean allowMissingColumnNames)
{</span>
-<span class="source-line-no">316</span><span id="line-316">
this.allowMissingColumnNames = allowMissingColumnNames;</span>
-<span class="source-line-no">317</span><span id="line-317"> return
this;</span>
-<span class="source-line-no">318</span><span id="line-318"> }</span>
-<span class="source-line-no">319</span><span id="line-319"></span>
-<span class="source-line-no">320</span><span id="line-320"> /**</span>
-<span class="source-line-no">321</span><span id="line-321"> * Sets
whether to flush on close.</span>
-<span class="source-line-no">322</span><span id="line-322"> *</span>
-<span class="source-line-no">323</span><span id="line-323"> * @param
autoFlush whether to flush on close.</span>
-<span class="source-line-no">324</span><span id="line-324"> * @return
This instance.</span>
-<span class="source-line-no">325</span><span id="line-325"> */</span>
-<span class="source-line-no">326</span><span id="line-326"> public
Builder setAutoFlush(final boolean autoFlush) {</span>
-<span class="source-line-no">327</span><span id="line-327">
this.autoFlush = autoFlush;</span>
-<span class="source-line-no">328</span><span id="line-328"> return
this;</span>
-<span class="source-line-no">329</span><span id="line-329"> }</span>
-<span class="source-line-no">330</span><span id="line-330"></span>
-<span class="source-line-no">331</span><span id="line-331"> /**</span>
-<span class="source-line-no">332</span><span id="line-332"> * Sets the
comment marker character, use {@code null} to disable comments.</span>
+<span class="source-line-no">308</span><span id="line-308"> * Sets
whether to flush on close.</span>
+<span class="source-line-no">309</span><span id="line-309"> *</span>
+<span class="source-line-no">310</span><span id="line-310"> * @param
autoFlush whether to flush on close.</span>
+<span class="source-line-no">311</span><span id="line-311"> * @return
This instance.</span>
+<span class="source-line-no">312</span><span id="line-312"> */</span>
+<span class="source-line-no">313</span><span id="line-313"> public
Builder setAutoFlush(final boolean autoFlush) {</span>
+<span class="source-line-no">314</span><span id="line-314">
this.autoFlush = autoFlush;</span>
+<span class="source-line-no">315</span><span id="line-315"> return
this;</span>
+<span class="source-line-no">316</span><span id="line-316"> }</span>
+<span class="source-line-no">317</span><span id="line-317"></span>
+<span class="source-line-no">318</span><span id="line-318"> /**</span>
+<span class="source-line-no">319</span><span id="line-319"> * Sets the
comment marker character, use {@code null} to disable comments.</span>
+<span class="source-line-no">320</span><span id="line-320"> *
<p></span>
+<span class="source-line-no">321</span><span id="line-321"> * The
comment start character is only recognized at the start of a line.</span>
+<span class="source-line-no">322</span><span id="line-322"> *
</p></span>
+<span class="source-line-no">323</span><span id="line-323"> *
<p></span>
+<span class="source-line-no">324</span><span id="line-324"> * Comments
are printed first, before headers.</span>
+<span class="source-line-no">325</span><span id="line-325"> *
</p></span>
+<span class="source-line-no">326</span><span id="line-326"> *
<p></span>
+<span class="source-line-no">327</span><span id="line-327"> * Use
{@link #setCommentMarker(char)} or {@link #setCommentMarker(Character)} to set
the comment marker written at the start of</span>
+<span class="source-line-no">328</span><span id="line-328"> * each
comment line.</span>
+<span class="source-line-no">329</span><span id="line-329"> *
</p></span>
+<span class="source-line-no">330</span><span id="line-330"> *
<p></span>
+<span class="source-line-no">331</span><span id="line-331"> * If the
comment marker is not set, then the header comments are ignored.</span>
+<span class="source-line-no">332</span><span id="line-332"> *
</p></span>
<span class="source-line-no">333</span><span id="line-333"> *
<p></span>
-<span class="source-line-no">334</span><span id="line-334"> * The
comment start character is only recognized at the start of a line.</span>
+<span class="source-line-no">334</span><span id="line-334"> * For
example:</span>
<span class="source-line-no">335</span><span id="line-335"> *
</p></span>
-<span class="source-line-no">336</span><span id="line-336"> *
<p></span>
-<span class="source-line-no">337</span><span id="line-337"> * Comments
are printed first, before headers.</span>
-<span class="source-line-no">338</span><span id="line-338"> *
</p></span>
-<span class="source-line-no">339</span><span id="line-339"> *
<p></span>
-<span class="source-line-no">340</span><span id="line-340"> * Use
{@link #setCommentMarker(char)} or {@link #setCommentMarker(Character)} to set
the comment marker written at the start of</span>
-<span class="source-line-no">341</span><span id="line-341"> * each
comment line.</span>
+<span class="source-line-no">336</span><span id="line-336"> *
<pre></span>
+<span class="source-line-no">337</span><span id="line-337"> *
builder.setCommentMarker('#')</span>
+<span class="source-line-no">338</span><span id="line-338"> *
.setHeaderComments("Generated by Apache Commons CSV",
Instant.ofEpochMilli(0));</span>
+<span class="source-line-no">339</span><span id="line-339"> *
</pre></span>
+<span class="source-line-no">340</span><span id="line-340"> *
<p></span>
+<span class="source-line-no">341</span><span id="line-341"> *
writes:</span>
<span class="source-line-no">342</span><span id="line-342"> *
</p></span>
-<span class="source-line-no">343</span><span id="line-343"> *
<p></span>
-<span class="source-line-no">344</span><span id="line-344"> * If the
comment marker is not set, then the header comments are ignored.</span>
-<span class="source-line-no">345</span><span id="line-345"> *
</p></span>
-<span class="source-line-no">346</span><span id="line-346"> *
<p></span>
-<span class="source-line-no">347</span><span id="line-347"> * For
example:</span>
-<span class="source-line-no">348</span><span id="line-348"> *
</p></span>
-<span class="source-line-no">349</span><span id="line-349"> *
<pre></span>
-<span class="source-line-no">350</span><span id="line-350"> *
builder.setCommentMarker('#')</span>
-<span class="source-line-no">351</span><span id="line-351"> *
.setHeaderComments("Generated by Apache Commons CSV",
Instant.ofEpochMilli(0));</span>
-<span class="source-line-no">352</span><span id="line-352"> *
</pre></span>
-<span class="source-line-no">353</span><span id="line-353"> *
<p></span>
-<span class="source-line-no">354</span><span id="line-354"> *
writes:</span>
-<span class="source-line-no">355</span><span id="line-355"> *
</p></span>
-<span class="source-line-no">356</span><span id="line-356"> *
<pre></span>
-<span class="source-line-no">357</span><span id="line-357"> * #
Generated by Apache Commons CSV.</span>
-<span class="source-line-no">358</span><span id="line-358"> * #
1970-01-01T00:00:00Z</span>
-<span class="source-line-no">359</span><span id="line-359"> *
</pre></span>
-<span class="source-line-no">360</span><span id="line-360"> *</span>
-<span class="source-line-no">361</span><span id="line-361"> * @param
commentMarker the comment start marker, use {@code null} to disable.</span>
-<span class="source-line-no">362</span><span id="line-362"> * @return
This instance.</span>
-<span class="source-line-no">363</span><span id="line-363"> * @throws
IllegalArgumentException thrown if the specified character is a line
break</span>
-<span class="source-line-no">364</span><span id="line-364"> */</span>
-<span class="source-line-no">365</span><span id="line-365"> public
Builder setCommentMarker(final char commentMarker) {</span>
-<span class="source-line-no">366</span><span id="line-366">
setCommentMarker(Character.valueOf(commentMarker));</span>
-<span class="source-line-no">367</span><span id="line-367"> return
this;</span>
-<span class="source-line-no">368</span><span id="line-368"> }</span>
-<span class="source-line-no">369</span><span id="line-369"></span>
-<span class="source-line-no">370</span><span id="line-370"> /**</span>
-<span class="source-line-no">371</span><span id="line-371"> * Sets the
comment marker character, use {@code null} to disable comments.</span>
+<span class="source-line-no">343</span><span id="line-343"> *
<pre></span>
+<span class="source-line-no">344</span><span id="line-344"> * #
Generated by Apache Commons CSV.</span>
+<span class="source-line-no">345</span><span id="line-345"> * #
1970-01-01T00:00:00Z</span>
+<span class="source-line-no">346</span><span id="line-346"> *
</pre></span>
+<span class="source-line-no">347</span><span id="line-347"> *</span>
+<span class="source-line-no">348</span><span id="line-348"> * @param
commentMarker the comment start marker, use {@code null} to disable.</span>
+<span class="source-line-no">349</span><span id="line-349"> * @return
This instance.</span>
+<span class="source-line-no">350</span><span id="line-350"> * @throws
IllegalArgumentException thrown if the specified character is a line
break</span>
+<span class="source-line-no">351</span><span id="line-351"> */</span>
+<span class="source-line-no">352</span><span id="line-352"> public
Builder setCommentMarker(final char commentMarker) {</span>
+<span class="source-line-no">353</span><span id="line-353">
setCommentMarker(Character.valueOf(commentMarker));</span>
+<span class="source-line-no">354</span><span id="line-354"> return
this;</span>
+<span class="source-line-no">355</span><span id="line-355"> }</span>
+<span class="source-line-no">356</span><span id="line-356"></span>
+<span class="source-line-no">357</span><span id="line-357"> /**</span>
+<span class="source-line-no">358</span><span id="line-358"> * Sets the
comment marker character, use {@code null} to disable comments.</span>
+<span class="source-line-no">359</span><span id="line-359"> *
<p></span>
+<span class="source-line-no">360</span><span id="line-360"> * The
comment start character is only recognized at the start of a line.</span>
+<span class="source-line-no">361</span><span id="line-361"> *
</p></span>
+<span class="source-line-no">362</span><span id="line-362"> *
<p></span>
+<span class="source-line-no">363</span><span id="line-363"> * Comments
are printed first, before headers.</span>
+<span class="source-line-no">364</span><span id="line-364"> *
</p></span>
+<span class="source-line-no">365</span><span id="line-365"> *
<p></span>
+<span class="source-line-no">366</span><span id="line-366"> * Use
{@link #setCommentMarker(char)} or {@link #setCommentMarker(Character)} to set
the comment marker written at the start of</span>
+<span class="source-line-no">367</span><span id="line-367"> * each
comment line.</span>
+<span class="source-line-no">368</span><span id="line-368"> *
</p></span>
+<span class="source-line-no">369</span><span id="line-369"> *
<p></span>
+<span class="source-line-no">370</span><span id="line-370"> * If the
comment marker is not set, then the header comments are ignored.</span>
+<span class="source-line-no">371</span><span id="line-371"> *
</p></span>
<span class="source-line-no">372</span><span id="line-372"> *
<p></span>
-<span class="source-line-no">373</span><span id="line-373"> * The
comment start character is only recognized at the start of a line.</span>
+<span class="source-line-no">373</span><span id="line-373"> * For
example:</span>
<span class="source-line-no">374</span><span id="line-374"> *
</p></span>
-<span class="source-line-no">375</span><span id="line-375"> *
<p></span>
-<span class="source-line-no">376</span><span id="line-376"> * Comments
are printed first, before headers.</span>
-<span class="source-line-no">377</span><span id="line-377"> *
</p></span>
-<span class="source-line-no">378</span><span id="line-378"> *
<p></span>
-<span class="source-line-no">379</span><span id="line-379"> * Use
{@link #setCommentMarker(char)} or {@link #setCommentMarker(Character)} to set
the comment marker written at the start of</span>
-<span class="source-line-no">380</span><span id="line-380"> * each
comment line.</span>
+<span class="source-line-no">375</span><span id="line-375"> *
<pre></span>
+<span class="source-line-no">376</span><span id="line-376"> *
builder.setCommentMarker('#')</span>
+<span class="source-line-no">377</span><span id="line-377"> *
.setHeaderComments("Generated by Apache Commons CSV",
Instant.ofEpochMilli(0));</span>
+<span class="source-line-no">378</span><span id="line-378"> *
</pre></span>
+<span class="source-line-no">379</span><span id="line-379"> *
<p></span>
+<span class="source-line-no">380</span><span id="line-380"> *
writes:</span>
<span class="source-line-no">381</span><span id="line-381"> *
</p></span>
-<span class="source-line-no">382</span><span id="line-382"> *
<p></span>
-<span class="source-line-no">383</span><span id="line-383"> * If the
comment marker is not set, then the header comments are ignored.</span>
-<span class="source-line-no">384</span><span id="line-384"> *
</p></span>
-<span class="source-line-no">385</span><span id="line-385"> *
<p></span>
-<span class="source-line-no">386</span><span id="line-386"> * For
example:</span>
-<span class="source-line-no">387</span><span id="line-387"> *
</p></span>
-<span class="source-line-no">388</span><span id="line-388"> *
<pre></span>
-<span class="source-line-no">389</span><span id="line-389"> *
builder.setCommentMarker('#')</span>
-<span class="source-line-no">390</span><span id="line-390"> *
.setHeaderComments("Generated by Apache Commons CSV",
Instant.ofEpochMilli(0));</span>
-<span class="source-line-no">391</span><span id="line-391"> *
</pre></span>
-<span class="source-line-no">392</span><span id="line-392"> *
<p></span>
-<span class="source-line-no">393</span><span id="line-393"> *
writes:</span>
-<span class="source-line-no">394</span><span id="line-394"> *
</p></span>
-<span class="source-line-no">395</span><span id="line-395"> *
<pre></span>
-<span class="source-line-no">396</span><span id="line-396"> * #
Generated by Apache Commons CSV.</span>
-<span class="source-line-no">397</span><span id="line-397"> * #
1970-01-01T00:00:00Z</span>
-<span class="source-line-no">398</span><span id="line-398"> *
</pre></span>
-<span class="source-line-no">399</span><span id="line-399"> *</span>
-<span class="source-line-no">400</span><span id="line-400"> * @param
commentMarker the comment start marker, use {@code null} to disable.</span>
-<span class="source-line-no">401</span><span id="line-401"> * @return
This instance.</span>
-<span class="source-line-no">402</span><span id="line-402"> * @throws
IllegalArgumentException thrown if the specified character is a line
break</span>
-<span class="source-line-no">403</span><span id="line-403"> */</span>
-<span class="source-line-no">404</span><span id="line-404"> public
Builder setCommentMarker(final Character commentMarker) {</span>
-<span class="source-line-no">405</span><span id="line-405"> if
(isLineBreak(commentMarker)) {</span>
-<span class="source-line-no">406</span><span id="line-406">
throw new IllegalArgumentException("The comment start marker character cannot
be a line break");</span>
-<span class="source-line-no">407</span><span id="line-407"> }</span>
-<span class="source-line-no">408</span><span id="line-408">
this.commentMarker = commentMarker;</span>
-<span class="source-line-no">409</span><span id="line-409"> return
this;</span>
-<span class="source-line-no">410</span><span id="line-410"> }</span>
-<span class="source-line-no">411</span><span id="line-411"></span>
-<span class="source-line-no">412</span><span id="line-412"> /**</span>
-<span class="source-line-no">413</span><span id="line-413"> * Sets the
delimiter character.</span>
-<span class="source-line-no">414</span><span id="line-414"> *</span>
-<span class="source-line-no">415</span><span id="line-415"> * @param
delimiter the delimiter character.</span>
-<span class="source-line-no">416</span><span id="line-416"> * @return
This instance.</span>
-<span class="source-line-no">417</span><span id="line-417"> */</span>
-<span class="source-line-no">418</span><span id="line-418"> public
Builder setDelimiter(final char delimiter) {</span>
-<span class="source-line-no">419</span><span id="line-419"> return
setDelimiter(String.valueOf(delimiter));</span>
-<span class="source-line-no">420</span><span id="line-420"> }</span>
-<span class="source-line-no">421</span><span id="line-421"></span>
-<span class="source-line-no">422</span><span id="line-422"> /**</span>
-<span class="source-line-no">423</span><span id="line-423"> * Sets the
delimiter character.</span>
-<span class="source-line-no">424</span><span id="line-424"> *</span>
-<span class="source-line-no">425</span><span id="line-425"> * @param
delimiter the delimiter character.</span>
-<span class="source-line-no">426</span><span id="line-426"> * @return
This instance.</span>
-<span class="source-line-no">427</span><span id="line-427"> */</span>
-<span class="source-line-no">428</span><span id="line-428"> public
Builder setDelimiter(final String delimiter) {</span>
-<span class="source-line-no">429</span><span id="line-429"> if
(containsLineBreak(delimiter)) {</span>
-<span class="source-line-no">430</span><span id="line-430">
throw new IllegalArgumentException("The delimiter cannot be a line
break");</span>
-<span class="source-line-no">431</span><span id="line-431"> }</span>
-<span class="source-line-no">432</span><span id="line-432"> if
(delimiter.isEmpty()) {</span>
-<span class="source-line-no">433</span><span id="line-433">
throw new IllegalArgumentException("The delimiter cannot be empty");</span>
-<span class="source-line-no">434</span><span id="line-434"> }</span>
-<span class="source-line-no">435</span><span id="line-435">
this.delimiter = delimiter;</span>
-<span class="source-line-no">436</span><span id="line-436"> return
this;</span>
-<span class="source-line-no">437</span><span id="line-437"> }</span>
-<span class="source-line-no">438</span><span id="line-438"></span>
-<span class="source-line-no">439</span><span id="line-439"> /**</span>
-<span class="source-line-no">440</span><span id="line-440"> * Sets the
duplicate header names behavior.</span>
-<span class="source-line-no">441</span><span id="line-441"> *</span>
-<span class="source-line-no">442</span><span id="line-442"> * @param
duplicateHeaderMode the duplicate header names behavior</span>
-<span class="source-line-no">443</span><span id="line-443"> * @return
This instance.</span>
-<span class="source-line-no">444</span><span id="line-444"> * @since
1.10.0</span>
-<span class="source-line-no">445</span><span id="line-445"> */</span>
-<span class="source-line-no">446</span><span id="line-446"> public
Builder setDuplicateHeaderMode(final DuplicateHeaderMode duplicateHeaderMode)
{</span>
-<span class="source-line-no">447</span><span id="line-447">
this.duplicateHeaderMode = Objects.requireNonNull(duplicateHeaderMode,
"duplicateHeaderMode");</span>
-<span class="source-line-no">448</span><span id="line-448"> return
this;</span>
-<span class="source-line-no">449</span><span id="line-449"> }</span>
-<span class="source-line-no">450</span><span id="line-450"></span>
-<span class="source-line-no">451</span><span id="line-451"> /**</span>
-<span class="source-line-no">452</span><span id="line-452"> * Sets the
escape character.</span>
-<span class="source-line-no">453</span><span id="line-453"> *</span>
-<span class="source-line-no">454</span><span id="line-454"> * @param
escapeCharacter the escape character.</span>
-<span class="source-line-no">455</span><span id="line-455"> * @return
This instance.</span>
-<span class="source-line-no">456</span><span id="line-456"> * @throws
IllegalArgumentException thrown if the specified character is a line
break</span>
-<span class="source-line-no">457</span><span id="line-457"> */</span>
-<span class="source-line-no">458</span><span id="line-458"> public
Builder setEscape(final char escapeCharacter) {</span>
-<span class="source-line-no">459</span><span id="line-459">
setEscape(Character.valueOf(escapeCharacter));</span>
-<span class="source-line-no">460</span><span id="line-460"> return
this;</span>
-<span class="source-line-no">461</span><span id="line-461"> }</span>
-<span class="source-line-no">462</span><span id="line-462"></span>
-<span class="source-line-no">463</span><span id="line-463"> /**</span>
-<span class="source-line-no">464</span><span id="line-464"> * Sets the
escape character.</span>
-<span class="source-line-no">465</span><span id="line-465"> *</span>
-<span class="source-line-no">466</span><span id="line-466"> * @param
escapeCharacter the escape character.</span>
-<span class="source-line-no">467</span><span id="line-467"> * @return
This instance.</span>
-<span class="source-line-no">468</span><span id="line-468"> * @throws
IllegalArgumentException thrown if the specified character is a line
break</span>
-<span class="source-line-no">469</span><span id="line-469"> */</span>
-<span class="source-line-no">470</span><span id="line-470"> public
Builder setEscape(final Character escapeCharacter) {</span>
-<span class="source-line-no">471</span><span id="line-471"> if
(isLineBreak(escapeCharacter)) {</span>
-<span class="source-line-no">472</span><span id="line-472">
throw new IllegalArgumentException("The escape character cannot be a line
break");</span>
-<span class="source-line-no">473</span><span id="line-473"> }</span>
-<span class="source-line-no">474</span><span id="line-474">
this.escapeCharacter = escapeCharacter;</span>
-<span class="source-line-no">475</span><span id="line-475"> return
this;</span>
-<span class="source-line-no">476</span><span id="line-476"> }</span>
-<span class="source-line-no">477</span><span id="line-477"></span>
-<span class="source-line-no">478</span><span id="line-478"> /**</span>
-<span class="source-line-no">479</span><span id="line-479"> * Sets the
header defined by the given {@link Enum} class.</span>
-<span class="source-line-no">480</span><span id="line-480"> *</span>
-<span class="source-line-no">481</span><span id="line-481"> *
<p></span>
-<span class="source-line-no">482</span><span id="line-482"> *
Example:</span>
-<span class="source-line-no">483</span><span id="line-483"> *
</p></span>
-<span class="source-line-no">484</span><span id="line-484"> *</span>
-<span class="source-line-no">485</span><span id="line-485"> *
<pre></span>
-<span class="source-line-no">486</span><span id="line-486"> * public
enum HeaderEnum {</span>
-<span class="source-line-no">487</span><span id="line-487"> *
Name, Email, Phone</span>
-<span class="source-line-no">488</span><span id="line-488"> * }</span>
-<span class="source-line-no">489</span><span id="line-489"> *</span>
-<span class="source-line-no">490</span><span id="line-490"> * Builder
builder = builder.setHeader(HeaderEnum.class);</span>
-<span class="source-line-no">491</span><span id="line-491"> *
</pre></span>
-<span class="source-line-no">492</span><span id="line-492"> *
<p></span>
-<span class="source-line-no">493</span><span id="line-493"> * The
header is also used by the {@link CSVPrinter}.</span>
-<span class="source-line-no">494</span><span id="line-494"> *
</p></span>
-<span class="source-line-no">495</span><span id="line-495"> *</span>
-<span class="source-line-no">496</span><span id="line-496"> * @param
headerEnum the enum defining the header, {@code null} if disabled, empty if
parsed automatically, user-specified otherwise.</span>
-<span class="source-line-no">497</span><span id="line-497"> * @return
This instance.</span>
-<span class="source-line-no">498</span><span id="line-498"> */</span>
-<span class="source-line-no">499</span><span id="line-499"> public
Builder setHeader(final Class<? extends Enum<?>> headerEnum)
{</span>
-<span class="source-line-no">500</span><span id="line-500">
String[] header = null;</span>
-<span class="source-line-no">501</span><span id="line-501"> if
(headerEnum != null) {</span>
-<span class="source-line-no">502</span><span id="line-502">
final Enum<?>[] enumValues = headerEnum.getEnumConstants();</span>
-<span class="source-line-no">503</span><span id="line-503">
header = new String[enumValues.length];</span>
-<span class="source-line-no">504</span><span id="line-504">
Arrays.setAll(header, i -> enumValues[i].name());</span>
-<span class="source-line-no">505</span><span id="line-505"> }</span>
-<span class="source-line-no">506</span><span id="line-506"> return
setHeader(header);</span>
-<span class="source-line-no">507</span><span id="line-507"> }</span>
-<span class="source-line-no">508</span><span id="line-508"></span>
-<span class="source-line-no">509</span><span id="line-509"> /**</span>
-<span class="source-line-no">510</span><span id="line-510"> * Sets the
header from the result set metadata. The header can be parsed automatically
from the input file with:</span>
+<span class="source-line-no">382</span><span id="line-382"> *
<pre></span>
+<span class="source-line-no">383</span><span id="line-383"> * #
Generated by Apache Commons CSV.</span>
+<span class="source-line-no">384</span><span id="line-384"> * #
1970-01-01T00:00:00Z</span>
+<span class="source-line-no">385</span><span id="line-385"> *
</pre></span>
+<span class="source-line-no">386</span><span id="line-386"> *</span>
+<span class="source-line-no">387</span><span id="line-387"> * @param
commentMarker the comment start marker, use {@code null} to disable.</span>
+<span class="source-line-no">388</span><span id="line-388"> * @return
This instance.</span>
+<span class="source-line-no">389</span><span id="line-389"> * @throws
IllegalArgumentException thrown if the specified character is a line
break</span>
+<span class="source-line-no">390</span><span id="line-390"> */</span>
+<span class="source-line-no">391</span><span id="line-391"> public
Builder setCommentMarker(final Character commentMarker) {</span>
+<span class="source-line-no">392</span><span id="line-392"> if
(isLineBreak(commentMarker)) {</span>
+<span class="source-line-no">393</span><span id="line-393">
throw new IllegalArgumentException("The comment start marker character cannot
be a line break");</span>
+<span class="source-line-no">394</span><span id="line-394"> }</span>
+<span class="source-line-no">395</span><span id="line-395">
this.commentMarker = commentMarker;</span>
+<span class="source-line-no">396</span><span id="line-396"> return
this;</span>
+<span class="source-line-no">397</span><span id="line-397"> }</span>
+<span class="source-line-no">398</span><span id="line-398"></span>
+<span class="source-line-no">399</span><span id="line-399"> /**</span>
+<span class="source-line-no">400</span><span id="line-400"> * Sets the
delimiter character.</span>
+<span class="source-line-no">401</span><span id="line-401"> *</span>
+<span class="source-line-no">402</span><span id="line-402"> * @param
delimiter the delimiter character.</span>
+<span class="source-line-no">403</span><span id="line-403"> * @return
This instance.</span>
+<span class="source-line-no">404</span><span id="line-404"> */</span>
+<span class="source-line-no">405</span><span id="line-405"> public
Builder setDelimiter(final char delimiter) {</span>
+<span class="source-line-no">406</span><span id="line-406"> return
setDelimiter(String.valueOf(delimiter));</span>
+<span class="source-line-no">407</span><span id="line-407"> }</span>
+<span class="source-line-no">408</span><span id="line-408"></span>
+<span class="source-line-no">409</span><span id="line-409"> /**</span>
+<span class="source-line-no">410</span><span id="line-410"> * Sets the
delimiter character.</span>
+<span class="source-line-no">411</span><span id="line-411"> *</span>
+<span class="source-line-no">412</span><span id="line-412"> * @param
delimiter the delimiter character.</span>
+<span class="source-line-no">413</span><span id="line-413"> * @return
This instance.</span>
+<span class="source-line-no">414</span><span id="line-414"> */</span>
+<span class="source-line-no">415</span><span id="line-415"> public
Builder setDelimiter(final String delimiter) {</span>
+<span class="source-line-no">416</span><span id="line-416"> if
(containsLineBreak(delimiter)) {</span>
+<span class="source-line-no">417</span><span id="line-417">
throw new IllegalArgumentException("The delimiter cannot be a line
break");</span>
+<span class="source-line-no">418</span><span id="line-418"> }</span>
+<span class="source-line-no">419</span><span id="line-419"> if
(delimiter.isEmpty()) {</span>
+<span class="source-line-no">420</span><span id="line-420">
throw new IllegalArgumentException("The delimiter cannot be empty");</span>
+<span class="source-line-no">421</span><span id="line-421"> }</span>
+<span class="source-line-no">422</span><span id="line-422">
this.delimiter = delimiter;</span>
+<span class="source-line-no">423</span><span id="line-423"> return
this;</span>
[... 5283 lines stripped ...]