Modified: 
websites/production/commons/content/proper/commons-csv/apidocs/src-html/org/apache/commons/csv/CSVPrinter.html
==============================================================================
--- 
websites/production/commons/content/proper/commons-csv/apidocs/src-html/org/apache/commons/csv/CSVPrinter.html
 (original)
+++ 
websites/production/commons/content/proper/commons-csv/apidocs/src-html/org/apache/commons/csv/CSVPrinter.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>
@@ -123,7 +123,7 @@
 <span class="source-line-no">110</span><span id="line-110">        final 
String[] headerComments = format.getHeaderComments();</span>
 <span class="source-line-no">111</span><span id="line-111">        if 
(headerComments != null) {</span>
 <span class="source-line-no">112</span><span id="line-112">            for 
(final String line : headerComments) {</span>
-<span class="source-line-no">113</span><span id="line-113">                
this.printComment(line);</span>
+<span class="source-line-no">113</span><span id="line-113">                
printComment(line);</span>
 <span class="source-line-no">114</span><span id="line-114">            }</span>
 <span class="source-line-no">115</span><span id="line-115">        }</span>
 <span class="source-line-no">116</span><span id="line-116">        if 
(format.getHeader() != null &amp;&amp; !format.getSkipHeaderRecord()) {</span>
@@ -216,7 +216,7 @@
 <span class="source-line-no">203</span><span id="line-203">        if 
(!newRecord) {</span>
 <span class="source-line-no">204</span><span id="line-204">            
println();</span>
 <span class="source-line-no">205</span><span id="line-205">        }</span>
-<span class="source-line-no">206</span><span id="line-206">        
appendable.append(format.getCommentMarker().charValue());</span>
+<span class="source-line-no">206</span><span id="line-206">        
appendable.append(format.getCommentMarker().charValue()); // N.B. Explicit 
(un)boxing is intentional</span>
 <span class="source-line-no">207</span><span id="line-207">        
appendable.append(SP);</span>
 <span class="source-line-no">208</span><span id="line-208">        for (int i 
= 0; i &lt; comment.length(); i++) {</span>
 <span class="source-line-no">209</span><span id="line-209">            final 
char c = comment.charAt(i);</span>
@@ -228,7 +228,7 @@
 <span class="source-line-no">215</span><span id="line-215">                
//$FALL-THROUGH$ break intentionally excluded.</span>
 <span class="source-line-no">216</span><span id="line-216">            case 
LF:</span>
 <span class="source-line-no">217</span><span id="line-217">                
println();</span>
-<span class="source-line-no">218</span><span id="line-218">                
appendable.append(format.getCommentMarker().charValue());</span>
+<span class="source-line-no">218</span><span id="line-218">                
appendable.append(format.getCommentMarker().charValue()); // N.B. Explicit 
(un)boxing is intentional</span>
 <span class="source-line-no">219</span><span id="line-219">                
appendable.append(SP);</span>
 <span class="source-line-no">220</span><span id="line-220">                
break;</span>
 <span class="source-line-no">221</span><span id="line-221">            
default:</span>
@@ -341,173 +341,169 @@
 <span class="source-line-no">328</span><span id="line-328">     * Given the 
following data structure:</span>
 <span class="source-line-no">329</span><span id="line-329">     * 
&lt;/p&gt;</span>
 <span class="source-line-no">330</span><span id="line-330">     *</span>
-<span class="source-line-no">331</span><span id="line-331">     * 
&lt;pre&gt;</span>
-<span class="source-line-no">332</span><span id="line-332">     * 
&lt;code&gt;</span>
-<span class="source-line-no">333</span><span id="line-333">     * 
List&amp;lt;String[]&amp;gt; data = new ArrayList&amp;lt;&amp;gt;();</span>
-<span class="source-line-no">334</span><span id="line-334">     * data.add(new 
String[]{ "A", "B", "C" });</span>
-<span class="source-line-no">335</span><span id="line-335">     * data.add(new 
String[]{ "1", "2", "3" });</span>
-<span class="source-line-no">336</span><span id="line-336">     * data.add(new 
String[]{ "A1", "B2", "C3" });</span>
-<span class="source-line-no">337</span><span id="line-337">     * 
&lt;/code&gt;</span>
-<span class="source-line-no">338</span><span id="line-338">     * 
&lt;/pre&gt;</span>
-<span class="source-line-no">339</span><span id="line-339">     *</span>
-<span class="source-line-no">340</span><span id="line-340">     * 
&lt;p&gt;</span>
-<span class="source-line-no">341</span><span id="line-341">     * Calling this 
method will print:</span>
-<span class="source-line-no">342</span><span id="line-342">     * 
&lt;/p&gt;</span>
-<span class="source-line-no">343</span><span id="line-343">     *</span>
-<span class="source-line-no">344</span><span id="line-344">     * 
&lt;pre&gt;</span>
-<span class="source-line-no">345</span><span id="line-345">     * 
&lt;code&gt;</span>
-<span class="source-line-no">346</span><span id="line-346">     * A, B, 
C</span>
-<span class="source-line-no">347</span><span id="line-347">     * 1, 2, 
3</span>
-<span class="source-line-no">348</span><span id="line-348">     * A1, B2, 
C3</span>
-<span class="source-line-no">349</span><span id="line-349">     * 
&lt;/code&gt;</span>
-<span class="source-line-no">350</span><span id="line-350">     * 
&lt;/pre&gt;</span>
-<span class="source-line-no">351</span><span id="line-351">     *</span>
-<span class="source-line-no">352</span><span id="line-352">     * @param 
values</span>
-<span class="source-line-no">353</span><span id="line-353">     *            
the values to print.</span>
-<span class="source-line-no">354</span><span id="line-354">     * @throws 
IOException</span>
-<span class="source-line-no">355</span><span id="line-355">     *             
If an I/O error occurs</span>
-<span class="source-line-no">356</span><span id="line-356">     */</span>
-<span class="source-line-no">357</span><span id="line-357">    
@SuppressWarnings("resource")</span>
-<span class="source-line-no">358</span><span id="line-358">    public void 
printRecords(final Iterable&lt;?&gt; values) throws IOException {</span>
-<span class="source-line-no">359</span><span id="line-359">        
IOStream.of(values).forEachOrdered(this::printRecordObject);</span>
-<span class="source-line-no">360</span><span id="line-360">    }</span>
-<span class="source-line-no">361</span><span id="line-361"></span>
-<span class="source-line-no">362</span><span id="line-362">    /**</span>
-<span class="source-line-no">363</span><span id="line-363">     * Prints all 
the objects in the given array handling nested collections/arrays as 
records.</span>
-<span class="source-line-no">364</span><span id="line-364">     *</span>
-<span class="source-line-no">365</span><span id="line-365">     * 
&lt;p&gt;</span>
-<span class="source-line-no">366</span><span id="line-366">     * If the given 
array only contains simple objects, this method will print a single record 
like</span>
-<span class="source-line-no">367</span><span id="line-367">     * {@link 
#printRecord(Object...)}. If the given collections contain nested collections 
or arrays, those nested</span>
-<span class="source-line-no">368</span><span id="line-368">     * elements 
will each be printed as records using {@link #printRecord(Object...)}.</span>
-<span class="source-line-no">369</span><span id="line-369">     * 
&lt;/p&gt;</span>
-<span class="source-line-no">370</span><span id="line-370">     *</span>
-<span class="source-line-no">371</span><span id="line-371">     * 
&lt;p&gt;</span>
-<span class="source-line-no">372</span><span id="line-372">     * Given the 
following data structure:</span>
-<span class="source-line-no">373</span><span id="line-373">     * 
&lt;/p&gt;</span>
-<span class="source-line-no">374</span><span id="line-374">     *</span>
-<span class="source-line-no">375</span><span id="line-375">     * 
&lt;pre&gt;</span>
-<span class="source-line-no">376</span><span id="line-376">     * 
&lt;code&gt;</span>
-<span class="source-line-no">377</span><span id="line-377">     * String[][] 
data = new String[3][]</span>
-<span class="source-line-no">378</span><span id="line-378">     * data[0] = 
String[]{ "A", "B", "C" };</span>
-<span class="source-line-no">379</span><span id="line-379">     * data[1] = 
new String[]{ "1", "2", "3" };</span>
-<span class="source-line-no">380</span><span id="line-380">     * data[2] = 
new String[]{ "A1", "B2", "C3" };</span>
-<span class="source-line-no">381</span><span id="line-381">     * 
&lt;/code&gt;</span>
-<span class="source-line-no">382</span><span id="line-382">     * 
&lt;/pre&gt;</span>
-<span class="source-line-no">383</span><span id="line-383">     *</span>
-<span class="source-line-no">384</span><span id="line-384">     * 
&lt;p&gt;</span>
-<span class="source-line-no">385</span><span id="line-385">     * Calling this 
method will print:</span>
-<span class="source-line-no">386</span><span id="line-386">     * 
&lt;/p&gt;</span>
-<span class="source-line-no">387</span><span id="line-387">     *</span>
-<span class="source-line-no">388</span><span id="line-388">     * 
&lt;pre&gt;</span>
-<span class="source-line-no">389</span><span id="line-389">     * 
&lt;code&gt;</span>
-<span class="source-line-no">390</span><span id="line-390">     * A, B, 
C</span>
-<span class="source-line-no">391</span><span id="line-391">     * 1, 2, 
3</span>
-<span class="source-line-no">392</span><span id="line-392">     * A1, B2, 
C3</span>
-<span class="source-line-no">393</span><span id="line-393">     * 
&lt;/code&gt;</span>
-<span class="source-line-no">394</span><span id="line-394">     * 
&lt;/pre&gt;</span>
-<span class="source-line-no">395</span><span id="line-395">     *</span>
-<span class="source-line-no">396</span><span id="line-396">     * @param 
values</span>
-<span class="source-line-no">397</span><span id="line-397">     *            
the values to print.</span>
-<span class="source-line-no">398</span><span id="line-398">     * @throws 
IOException</span>
-<span class="source-line-no">399</span><span id="line-399">     *             
If an I/O error occurs</span>
-<span class="source-line-no">400</span><span id="line-400">     */</span>
-<span class="source-line-no">401</span><span id="line-401">    public void 
printRecords(final Object... values) throws IOException {</span>
-<span class="source-line-no">402</span><span id="line-402">        
printRecords(Arrays.asList(values));</span>
-<span class="source-line-no">403</span><span id="line-403">    }</span>
-<span class="source-line-no">404</span><span id="line-404"></span>
-<span class="source-line-no">405</span><span id="line-405">    /**</span>
-<span class="source-line-no">406</span><span id="line-406">     * Prints all 
the objects in the given JDBC result set.</span>
-<span class="source-line-no">407</span><span id="line-407">     *</span>
-<span class="source-line-no">408</span><span id="line-408">     * @param 
resultSet</span>
-<span class="source-line-no">409</span><span id="line-409">     *             
The values to print.</span>
-<span class="source-line-no">410</span><span id="line-410">     * @throws 
IOException</span>
-<span class="source-line-no">411</span><span id="line-411">     *             
If an I/O error occurs.</span>
-<span class="source-line-no">412</span><span id="line-412">     * @throws 
SQLException</span>
-<span class="source-line-no">413</span><span id="line-413">     *             
Thrown when a database access error occurs.</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 void 
printRecords(final ResultSet resultSet) throws SQLException, IOException 
{</span>
-<span class="source-line-no">416</span><span id="line-416">        final int 
columnCount = resultSet.getMetaData().getColumnCount();</span>
-<span class="source-line-no">417</span><span id="line-417">        while 
(resultSet.next()) {</span>
-<span class="source-line-no">418</span><span id="line-418">            for 
(int i = 1; i &lt;= columnCount; i++) {</span>
-<span class="source-line-no">419</span><span id="line-419">                
final Object object = resultSet.getObject(i);</span>
-<span class="source-line-no">420</span><span id="line-420">                if 
(object instanceof Clob) {</span>
-<span class="source-line-no">421</span><span id="line-421">                    
try (Reader reader = ((Clob) object).getCharacterStream()) {</span>
-<span class="source-line-no">422</span><span id="line-422">                    
    print(reader);</span>
-<span class="source-line-no">423</span><span id="line-423">                    
}</span>
-<span class="source-line-no">424</span><span id="line-424">                } 
else if (object instanceof Blob) {</span>
-<span class="source-line-no">425</span><span id="line-425">                    
try (InputStream inputStream = ((Blob) object).getBinaryStream()) {</span>
-<span class="source-line-no">426</span><span id="line-426">                    
    print(inputStream);</span>
-<span class="source-line-no">427</span><span id="line-427">                    
}</span>
-<span class="source-line-no">428</span><span id="line-428">                } 
else {</span>
-<span class="source-line-no">429</span><span id="line-429">                    
print(object);</span>
-<span class="source-line-no">430</span><span id="line-430">                
}</span>
-<span class="source-line-no">431</span><span id="line-431">            }</span>
-<span class="source-line-no">432</span><span id="line-432">            
println();</span>
-<span class="source-line-no">433</span><span id="line-433">        }</span>
-<span class="source-line-no">434</span><span id="line-434">    }</span>
-<span class="source-line-no">435</span><span id="line-435"></span>
-<span class="source-line-no">436</span><span id="line-436">    /**</span>
-<span class="source-line-no">437</span><span id="line-437">     * Prints all 
the objects with metadata in the given JDBC result set based on the header 
boolean.</span>
-<span class="source-line-no">438</span><span id="line-438">     *</span>
-<span class="source-line-no">439</span><span id="line-439">     * @param 
resultSet source of row data.</span>
-<span class="source-line-no">440</span><span id="line-440">     * @param 
printHeader whether to print headers.</span>
-<span class="source-line-no">441</span><span id="line-441">     * @throws 
IOException If an I/O error occurs</span>
-<span class="source-line-no">442</span><span id="line-442">     * @throws 
SQLException if a database access error occurs</span>
-<span class="source-line-no">443</span><span id="line-443">     * @since 
1.9.0</span>
-<span class="source-line-no">444</span><span id="line-444">     */</span>
-<span class="source-line-no">445</span><span id="line-445">    public void 
printRecords(final ResultSet resultSet, final boolean printHeader) throws 
SQLException, IOException {</span>
-<span class="source-line-no">446</span><span id="line-446">        if 
(printHeader) {</span>
-<span class="source-line-no">447</span><span id="line-447">            
printHeaders(resultSet);</span>
-<span class="source-line-no">448</span><span id="line-448">        }</span>
-<span class="source-line-no">449</span><span id="line-449">        
printRecords(resultSet);</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">    /**</span>
-<span class="source-line-no">453</span><span id="line-453">     * Prints all 
the objects in the given {@link Stream} handling nested collections/arrays as 
records.</span>
-<span class="source-line-no">454</span><span id="line-454">     *</span>
-<span class="source-line-no">455</span><span id="line-455">     * 
&lt;p&gt;</span>
-<span class="source-line-no">456</span><span id="line-456">     * If the given 
Stream only contains simple objects, this method will print a single record 
like</span>
-<span class="source-line-no">457</span><span id="line-457">     * {@link 
#printRecord(Iterable)}. If the given Stream contains nested collections/arrays 
those nested elements</span>
-<span class="source-line-no">458</span><span id="line-458">     * will each be 
printed as records using {@link #printRecord(Object...)}.</span>
-<span class="source-line-no">459</span><span id="line-459">     * 
&lt;/p&gt;</span>
-<span class="source-line-no">460</span><span id="line-460">     *</span>
-<span class="source-line-no">461</span><span id="line-461">     * 
&lt;p&gt;</span>
-<span class="source-line-no">462</span><span id="line-462">     * Given the 
following data structure:</span>
-<span class="source-line-no">463</span><span id="line-463">     * 
&lt;/p&gt;</span>
-<span class="source-line-no">464</span><span id="line-464">     *</span>
-<span class="source-line-no">465</span><span id="line-465">     * 
&lt;pre&gt;</span>
-<span class="source-line-no">466</span><span id="line-466">     * 
&lt;code&gt;</span>
-<span class="source-line-no">467</span><span id="line-467">     * 
List&amp;lt;String[]&amp;gt; data = new ArrayList&amp;lt;&amp;gt;();</span>
-<span class="source-line-no">468</span><span id="line-468">     * data.add(new 
String[]{ "A", "B", "C" });</span>
-<span class="source-line-no">469</span><span id="line-469">     * data.add(new 
String[]{ "1", "2", "3" });</span>
-<span class="source-line-no">470</span><span id="line-470">     * data.add(new 
String[]{ "A1", "B2", "C3" });</span>
-<span class="source-line-no">471</span><span id="line-471">     * 
Stream&amp;lt;String[]&amp;gt; stream = data.stream();</span>
-<span class="source-line-no">472</span><span id="line-472">     * 
&lt;/code&gt;</span>
-<span class="source-line-no">473</span><span id="line-473">     * 
&lt;/pre&gt;</span>
+<span class="source-line-no">331</span><span id="line-331">     * 
&lt;pre&gt;{@code</span>
+<span class="source-line-no">332</span><span id="line-332">     * 
List&lt;String[]&gt; data = new ArrayList&lt;&gt;();</span>
+<span class="source-line-no">333</span><span id="line-333">     * data.add(new 
String[]{ "A", "B", "C" });</span>
+<span class="source-line-no">334</span><span id="line-334">     * data.add(new 
String[]{ "1", "2", "3" });</span>
+<span class="source-line-no">335</span><span id="line-335">     * data.add(new 
String[]{ "A1", "B2", "C3" });</span>
+<span class="source-line-no">336</span><span id="line-336">     * }</span>
+<span class="source-line-no">337</span><span id="line-337">     * 
&lt;/pre&gt;</span>
+<span class="source-line-no">338</span><span id="line-338">     *</span>
+<span class="source-line-no">339</span><span id="line-339">     * 
&lt;p&gt;</span>
+<span class="source-line-no">340</span><span id="line-340">     * Calling this 
method will print:</span>
+<span class="source-line-no">341</span><span id="line-341">     * 
&lt;/p&gt;</span>
+<span class="source-line-no">342</span><span id="line-342">     *</span>
+<span class="source-line-no">343</span><span id="line-343">     * 
&lt;pre&gt;</span>
+<span class="source-line-no">344</span><span id="line-344">     * {@code</span>
+<span class="source-line-no">345</span><span id="line-345">     * A, B, 
C</span>
+<span class="source-line-no">346</span><span id="line-346">     * 1, 2, 
3</span>
+<span class="source-line-no">347</span><span id="line-347">     * A1, B2, 
C3</span>
+<span class="source-line-no">348</span><span id="line-348">     * }</span>
+<span class="source-line-no">349</span><span id="line-349">     * 
&lt;/pre&gt;</span>
+<span class="source-line-no">350</span><span id="line-350">     *</span>
+<span class="source-line-no">351</span><span id="line-351">     * @param 
values</span>
+<span class="source-line-no">352</span><span id="line-352">     *            
the values to print.</span>
+<span class="source-line-no">353</span><span id="line-353">     * @throws 
IOException</span>
+<span class="source-line-no">354</span><span id="line-354">     *             
If an I/O error occurs</span>
+<span class="source-line-no">355</span><span id="line-355">     */</span>
+<span class="source-line-no">356</span><span id="line-356">    
@SuppressWarnings("resource")</span>
+<span class="source-line-no">357</span><span id="line-357">    public void 
printRecords(final Iterable&lt;?&gt; values) throws IOException {</span>
+<span class="source-line-no">358</span><span id="line-358">        
IOStream.of(values).forEachOrdered(this::printRecordObject);</span>
+<span class="source-line-no">359</span><span id="line-359">    }</span>
+<span class="source-line-no">360</span><span id="line-360"></span>
+<span class="source-line-no">361</span><span id="line-361">    /**</span>
+<span class="source-line-no">362</span><span id="line-362">     * Prints all 
the objects in the given array handling nested collections/arrays as 
records.</span>
+<span class="source-line-no">363</span><span id="line-363">     *</span>
+<span class="source-line-no">364</span><span id="line-364">     * 
&lt;p&gt;</span>
+<span class="source-line-no">365</span><span id="line-365">     * If the given 
array only contains simple objects, this method will print a single record 
like</span>
+<span class="source-line-no">366</span><span id="line-366">     * {@link 
#printRecord(Object...)}. If the given collections contain nested collections 
or arrays, those nested</span>
+<span class="source-line-no">367</span><span id="line-367">     * elements 
will each be printed as records using {@link #printRecord(Object...)}.</span>
+<span class="source-line-no">368</span><span id="line-368">     * 
&lt;/p&gt;</span>
+<span class="source-line-no">369</span><span id="line-369">     *</span>
+<span class="source-line-no">370</span><span id="line-370">     * 
&lt;p&gt;</span>
+<span class="source-line-no">371</span><span id="line-371">     * Given the 
following data structure:</span>
+<span class="source-line-no">372</span><span id="line-372">     * 
&lt;/p&gt;</span>
+<span class="source-line-no">373</span><span id="line-373">     *</span>
+<span class="source-line-no">374</span><span id="line-374">     * 
&lt;pre&gt;{@code</span>
+<span class="source-line-no">375</span><span id="line-375">     * String[][] 
data = new String[3][]</span>
+<span class="source-line-no">376</span><span id="line-376">     * data[0] = 
String[]{ "A", "B", "C" };</span>
+<span class="source-line-no">377</span><span id="line-377">     * data[1] = 
new String[]{ "1", "2", "3" };</span>
+<span class="source-line-no">378</span><span id="line-378">     * data[2] = 
new String[]{ "A1", "B2", "C3" };</span>
+<span class="source-line-no">379</span><span id="line-379">     * }</span>
+<span class="source-line-no">380</span><span id="line-380">     * 
&lt;/pre&gt;</span>
+<span class="source-line-no">381</span><span id="line-381">     *</span>
+<span class="source-line-no">382</span><span id="line-382">     * 
&lt;p&gt;</span>
+<span class="source-line-no">383</span><span id="line-383">     * Calling this 
method will print:</span>
+<span class="source-line-no">384</span><span id="line-384">     * 
&lt;/p&gt;</span>
+<span class="source-line-no">385</span><span id="line-385">     *</span>
+<span class="source-line-no">386</span><span id="line-386">     * 
&lt;pre&gt;{@code</span>
+<span class="source-line-no">387</span><span id="line-387">     * A, B, 
C</span>
+<span class="source-line-no">388</span><span id="line-388">     * 1, 2, 
3</span>
+<span class="source-line-no">389</span><span id="line-389">     * A1, B2, 
C3</span>
+<span class="source-line-no">390</span><span id="line-390">     * }</span>
+<span class="source-line-no">391</span><span id="line-391">     * 
&lt;/pre&gt;</span>
+<span class="source-line-no">392</span><span id="line-392">     *</span>
+<span class="source-line-no">393</span><span id="line-393">     * @param 
values</span>
+<span class="source-line-no">394</span><span id="line-394">     *            
the values to print.</span>
+<span class="source-line-no">395</span><span id="line-395">     * @throws 
IOException</span>
+<span class="source-line-no">396</span><span id="line-396">     *             
If an I/O error occurs</span>
+<span class="source-line-no">397</span><span id="line-397">     */</span>
+<span class="source-line-no">398</span><span id="line-398">    public void 
printRecords(final Object... values) throws IOException {</span>
+<span class="source-line-no">399</span><span id="line-399">        
printRecords(Arrays.asList(values));</span>
+<span class="source-line-no">400</span><span id="line-400">    }</span>
+<span class="source-line-no">401</span><span id="line-401"></span>
+<span class="source-line-no">402</span><span id="line-402">    /**</span>
+<span class="source-line-no">403</span><span id="line-403">     * Prints all 
the objects in the given JDBC result set.</span>
+<span class="source-line-no">404</span><span id="line-404">     *</span>
+<span class="source-line-no">405</span><span id="line-405">     * @param 
resultSet</span>
+<span class="source-line-no">406</span><span id="line-406">     *             
The values to print.</span>
+<span class="source-line-no">407</span><span id="line-407">     * @throws 
IOException</span>
+<span class="source-line-no">408</span><span id="line-408">     *             
If an I/O error occurs.</span>
+<span class="source-line-no">409</span><span id="line-409">     * @throws 
SQLException</span>
+<span class="source-line-no">410</span><span id="line-410">     *             
Thrown when a database access error occurs.</span>
+<span class="source-line-no">411</span><span id="line-411">     */</span>
+<span class="source-line-no">412</span><span id="line-412">    public void 
printRecords(final ResultSet resultSet) throws SQLException, IOException 
{</span>
+<span class="source-line-no">413</span><span id="line-413">        final int 
columnCount = resultSet.getMetaData().getColumnCount();</span>
+<span class="source-line-no">414</span><span id="line-414">        while 
(resultSet.next()) {</span>
+<span class="source-line-no">415</span><span id="line-415">            for 
(int i = 1; i &lt;= columnCount; i++) {</span>
+<span class="source-line-no">416</span><span id="line-416">                
final Object object = resultSet.getObject(i);</span>
+<span class="source-line-no">417</span><span id="line-417">                if 
(object instanceof Clob) {</span>
+<span class="source-line-no">418</span><span id="line-418">                    
try (Reader reader = ((Clob) object).getCharacterStream()) {</span>
+<span class="source-line-no">419</span><span id="line-419">                    
    print(reader);</span>
+<span class="source-line-no">420</span><span id="line-420">                    
}</span>
+<span class="source-line-no">421</span><span id="line-421">                } 
else if (object instanceof Blob) {</span>
+<span class="source-line-no">422</span><span id="line-422">                    
try (InputStream inputStream = ((Blob) object).getBinaryStream()) {</span>
+<span class="source-line-no">423</span><span id="line-423">                    
    print(inputStream);</span>
+<span class="source-line-no">424</span><span id="line-424">                    
}</span>
+<span class="source-line-no">425</span><span id="line-425">                } 
else {</span>
+<span class="source-line-no">426</span><span id="line-426">                    
print(object);</span>
+<span class="source-line-no">427</span><span id="line-427">                
}</span>
+<span class="source-line-no">428</span><span id="line-428">            }</span>
+<span class="source-line-no">429</span><span id="line-429">            
println();</span>
+<span class="source-line-no">430</span><span id="line-430">        }</span>
+<span class="source-line-no">431</span><span id="line-431">    }</span>
+<span class="source-line-no">432</span><span id="line-432"></span>
+<span class="source-line-no">433</span><span id="line-433">    /**</span>
+<span class="source-line-no">434</span><span id="line-434">     * Prints all 
the objects with metadata in the given JDBC result set based on the header 
boolean.</span>
+<span class="source-line-no">435</span><span id="line-435">     *</span>
+<span class="source-line-no">436</span><span id="line-436">     * @param 
resultSet source of row data.</span>
+<span class="source-line-no">437</span><span id="line-437">     * @param 
printHeader whether to print headers.</span>
+<span class="source-line-no">438</span><span id="line-438">     * @throws 
IOException If an I/O error occurs</span>
+<span class="source-line-no">439</span><span id="line-439">     * @throws 
SQLException if a database access error occurs</span>
+<span class="source-line-no">440</span><span id="line-440">     * @since 
1.9.0</span>
+<span class="source-line-no">441</span><span id="line-441">     */</span>
+<span class="source-line-no">442</span><span id="line-442">    public void 
printRecords(final ResultSet resultSet, final boolean printHeader) throws 
SQLException, IOException {</span>
+<span class="source-line-no">443</span><span id="line-443">        if 
(printHeader) {</span>
+<span class="source-line-no">444</span><span id="line-444">            
printHeaders(resultSet);</span>
+<span class="source-line-no">445</span><span id="line-445">        }</span>
+<span class="source-line-no">446</span><span id="line-446">        
printRecords(resultSet);</span>
+<span class="source-line-no">447</span><span id="line-447">    }</span>
+<span class="source-line-no">448</span><span id="line-448"></span>
+<span class="source-line-no">449</span><span id="line-449">    /**</span>
+<span class="source-line-no">450</span><span id="line-450">     * Prints all 
the objects in the given {@link Stream} handling nested collections/arrays as 
records.</span>
+<span class="source-line-no">451</span><span id="line-451">     *</span>
+<span class="source-line-no">452</span><span id="line-452">     * 
&lt;p&gt;</span>
+<span class="source-line-no">453</span><span id="line-453">     * If the given 
Stream only contains simple objects, this method will print a single record 
like</span>
+<span class="source-line-no">454</span><span id="line-454">     * {@link 
#printRecord(Iterable)}. If the given Stream contains nested collections/arrays 
those nested elements</span>
+<span class="source-line-no">455</span><span id="line-455">     * will each be 
printed as records using {@link #printRecord(Object...)}.</span>
+<span class="source-line-no">456</span><span id="line-456">     * 
&lt;/p&gt;</span>
+<span class="source-line-no">457</span><span id="line-457">     *</span>
+<span class="source-line-no">458</span><span id="line-458">     * 
&lt;p&gt;</span>
+<span class="source-line-no">459</span><span id="line-459">     * Given the 
following data structure:</span>
+<span class="source-line-no">460</span><span id="line-460">     * 
&lt;/p&gt;</span>
+<span class="source-line-no">461</span><span id="line-461">     *</span>
+<span class="source-line-no">462</span><span id="line-462">     * 
&lt;pre&gt;{@code</span>
+<span class="source-line-no">463</span><span id="line-463">     * 
List&lt;String[]&gt; data = new ArrayList&lt;&gt;();</span>
+<span class="source-line-no">464</span><span id="line-464">     * data.add(new 
String[]{ "A", "B", "C" });</span>
+<span class="source-line-no">465</span><span id="line-465">     * data.add(new 
String[]{ "1", "2", "3" });</span>
+<span class="source-line-no">466</span><span id="line-466">     * data.add(new 
String[]{ "A1", "B2", "C3" });</span>
+<span class="source-line-no">467</span><span id="line-467">     * 
Stream&lt;String[]&gt; stream = data.stream();</span>
+<span class="source-line-no">468</span><span id="line-468">     * }</span>
+<span class="source-line-no">469</span><span id="line-469">     * 
&lt;/pre&gt;</span>
+<span class="source-line-no">470</span><span id="line-470">     *</span>
+<span class="source-line-no">471</span><span id="line-471">     * 
&lt;p&gt;</span>
+<span class="source-line-no">472</span><span id="line-472">     * Calling this 
method will print:</span>
+<span class="source-line-no">473</span><span id="line-473">     * 
&lt;/p&gt;</span>
 <span class="source-line-no">474</span><span id="line-474">     *</span>
-<span class="source-line-no">475</span><span id="line-475">     * 
&lt;p&gt;</span>
-<span class="source-line-no">476</span><span id="line-476">     * Calling this 
method will print:</span>
-<span class="source-line-no">477</span><span id="line-477">     * 
&lt;/p&gt;</span>
-<span class="source-line-no">478</span><span id="line-478">     *</span>
-<span class="source-line-no">479</span><span id="line-479">     * 
&lt;pre&gt;</span>
-<span class="source-line-no">480</span><span id="line-480">     * 
&lt;code&gt;</span>
-<span class="source-line-no">481</span><span id="line-481">     * A, B, 
C</span>
-<span class="source-line-no">482</span><span id="line-482">     * 1, 2, 
3</span>
-<span class="source-line-no">483</span><span id="line-483">     * A1, B2, 
C3</span>
-<span class="source-line-no">484</span><span id="line-484">     * 
&lt;/code&gt;</span>
-<span class="source-line-no">485</span><span id="line-485">     * 
&lt;/pre&gt;</span>
-<span class="source-line-no">486</span><span id="line-486">     *</span>
-<span class="source-line-no">487</span><span id="line-487">     * @param 
values</span>
-<span class="source-line-no">488</span><span id="line-488">     *            
the values to print.</span>
-<span class="source-line-no">489</span><span id="line-489">     * @throws 
IOException</span>
-<span class="source-line-no">490</span><span id="line-490">     *             
If an I/O error occurs</span>
-<span class="source-line-no">491</span><span id="line-491">     * @since 
1.10.0</span>
-<span class="source-line-no">492</span><span id="line-492">     */</span>
-<span class="source-line-no">493</span><span id="line-493">    
@SuppressWarnings({ "resource" }) // Caller closes.</span>
-<span class="source-line-no">494</span><span id="line-494">    public void 
printRecords(final Stream&lt;?&gt; values) throws IOException {</span>
-<span class="source-line-no">495</span><span id="line-495">        
IOStream.adapt(values).forEachOrdered(this::printRecordObject);</span>
-<span class="source-line-no">496</span><span id="line-496">    }</span>
-<span class="source-line-no">497</span><span id="line-497">}</span>
+<span class="source-line-no">475</span><span id="line-475">     * 
&lt;pre&gt;</span>
+<span class="source-line-no">476</span><span id="line-476">     * {@code</span>
+<span class="source-line-no">477</span><span id="line-477">     * A, B, 
C</span>
+<span class="source-line-no">478</span><span id="line-478">     * 1, 2, 
3</span>
+<span class="source-line-no">479</span><span id="line-479">     * A1, B2, 
C3</span>
+<span class="source-line-no">480</span><span id="line-480">     * }</span>
+<span class="source-line-no">481</span><span id="line-481">     * 
&lt;/pre&gt;</span>
+<span class="source-line-no">482</span><span id="line-482">     *</span>
+<span class="source-line-no">483</span><span id="line-483">     * @param 
values</span>
+<span class="source-line-no">484</span><span id="line-484">     *            
the values to print.</span>
+<span class="source-line-no">485</span><span id="line-485">     * @throws 
IOException</span>
+<span class="source-line-no">486</span><span id="line-486">     *             
If an I/O error occurs</span>
+<span class="source-line-no">487</span><span id="line-487">     * @since 
1.10.0</span>
+<span class="source-line-no">488</span><span id="line-488">     */</span>
+<span class="source-line-no">489</span><span id="line-489">    
@SuppressWarnings({ "resource" }) // Caller closes.</span>
+<span class="source-line-no">490</span><span id="line-490">    public void 
printRecords(final Stream&lt;?&gt; values) throws IOException {</span>
+<span class="source-line-no">491</span><span id="line-491">        
IOStream.adapt(values).forEachOrdered(this::printRecordObject);</span>
+<span class="source-line-no">492</span><span id="line-492">    }</span>
+<span class="source-line-no">493</span><span id="line-493">}</span>
 
 
 



Reply via email to