You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@commons.apache.org by gg...@apache.org on 2024/09/25 02:11:30 UTC

svn commit: r1087640 [15/44] - in /websites/production/commons/content/proper/commons-csv: ./ apidocs/ apidocs/org/apache/commons/csv/ apidocs/org/apache/commons/csv/class-use/ apidocs/src-html/org/apache/commons/csv/ jacoco/ jacoco/jacoco-resources/ j...

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>