Added: 
websites/production/commons/content/proper/commons-csv/archives/1.5/apidocs/src-html/org/apache/commons/csv/CSVPrinter.html
==============================================================================
--- 
websites/production/commons/content/proper/commons-csv/archives/1.5/apidocs/src-html/org/apache/commons/csv/CSVPrinter.html
 (added)
+++ 
websites/production/commons/content/proper/commons-csv/archives/1.5/apidocs/src-html/org/apache/commons/csv/CSVPrinter.html
 Mon Jan 29 17:25:21 2018
@@ -0,0 +1,411 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
+<html lang="en">
+<head>
+<title>Source code</title>
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" 
title="Style">
+</head>
+<body>
+<div class="sourceContainer">
+<pre><span class="sourceLineNo">001</span>/*<a name="line.1"></a>
+<span class="sourceLineNo">002</span> * Licensed to the Apache Software 
Foundation (ASF) under one or more<a name="line.2"></a>
+<span class="sourceLineNo">003</span> * contributor license agreements.  See 
the NOTICE file distributed with<a name="line.3"></a>
+<span class="sourceLineNo">004</span> * this work for additional information 
regarding copyright ownership.<a name="line.4"></a>
+<span class="sourceLineNo">005</span> * The ASF licenses this file to You 
under the Apache License, Version 2.0<a name="line.5"></a>
+<span class="sourceLineNo">006</span> * (the "License"); you may not use this 
file except in compliance with<a name="line.6"></a>
+<span class="sourceLineNo">007</span> * the License.  You may obtain a copy of 
the License at<a name="line.7"></a>
+<span class="sourceLineNo">008</span> *<a name="line.8"></a>
+<span class="sourceLineNo">009</span> *      
http://www.apache.org/licenses/LICENSE-2.0<a name="line.9"></a>
+<span class="sourceLineNo">010</span> *<a name="line.10"></a>
+<span class="sourceLineNo">011</span> * Unless required by applicable law or 
agreed to in writing, software<a name="line.11"></a>
+<span class="sourceLineNo">012</span> * distributed under the License is 
distributed on an "AS IS" BASIS,<a name="line.12"></a>
+<span class="sourceLineNo">013</span> * WITHOUT WARRANTIES OR CONDITIONS OF 
ANY KIND, either express or implied.<a name="line.13"></a>
+<span class="sourceLineNo">014</span> * See the License for the specific 
language governing permissions and<a name="line.14"></a>
+<span class="sourceLineNo">015</span> * limitations under the License.<a 
name="line.15"></a>
+<span class="sourceLineNo">016</span> */<a name="line.16"></a>
+<span class="sourceLineNo">017</span><a name="line.17"></a>
+<span class="sourceLineNo">018</span>package org.apache.commons.csv;<a 
name="line.18"></a>
+<span class="sourceLineNo">019</span><a name="line.19"></a>
+<span class="sourceLineNo">020</span>import static 
org.apache.commons.csv.Constants.CR;<a name="line.20"></a>
+<span class="sourceLineNo">021</span>import static 
org.apache.commons.csv.Constants.LF;<a name="line.21"></a>
+<span class="sourceLineNo">022</span>import static 
org.apache.commons.csv.Constants.SP;<a name="line.22"></a>
+<span class="sourceLineNo">023</span><a name="line.23"></a>
+<span class="sourceLineNo">024</span>import java.io.Closeable;<a 
name="line.24"></a>
+<span class="sourceLineNo">025</span>import java.io.Flushable;<a 
name="line.25"></a>
+<span class="sourceLineNo">026</span>import java.io.IOException;<a 
name="line.26"></a>
+<span class="sourceLineNo">027</span>import java.sql.ResultSet;<a 
name="line.27"></a>
+<span class="sourceLineNo">028</span>import java.sql.SQLException;<a 
name="line.28"></a>
+<span class="sourceLineNo">029</span><a name="line.29"></a>
+<span class="sourceLineNo">030</span>/**<a name="line.30"></a>
+<span class="sourceLineNo">031</span> * Prints values in a CSV format.<a 
name="line.31"></a>
+<span class="sourceLineNo">032</span> */<a name="line.32"></a>
+<span class="sourceLineNo">033</span>public final class CSVPrinter implements 
Flushable, Closeable {<a name="line.33"></a>
+<span class="sourceLineNo">034</span><a name="line.34"></a>
+<span class="sourceLineNo">035</span>    /** The place that the values get 
written. */<a name="line.35"></a>
+<span class="sourceLineNo">036</span>    private final Appendable out;<a 
name="line.36"></a>
+<span class="sourceLineNo">037</span>    private final CSVFormat format;<a 
name="line.37"></a>
+<span class="sourceLineNo">038</span><a name="line.38"></a>
+<span class="sourceLineNo">039</span>    /** True if we just began a new 
record. */<a name="line.39"></a>
+<span class="sourceLineNo">040</span>    private boolean newRecord = true;<a 
name="line.40"></a>
+<span class="sourceLineNo">041</span><a name="line.41"></a>
+<span class="sourceLineNo">042</span>    /**<a name="line.42"></a>
+<span class="sourceLineNo">043</span>     * Creates a printer that will print 
values to the given stream following the CSVFormat.<a name="line.43"></a>
+<span class="sourceLineNo">044</span>     * &lt;p&gt;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>     * Currently, only a pure 
encapsulation format or a pure escaping format is supported. Hybrid formats 
(encapsulation<a name="line.45"></a>
+<span class="sourceLineNo">046</span>     * and escaping with a different 
character) are not supported.<a name="line.46"></a>
+<span class="sourceLineNo">047</span>     * &lt;/p&gt;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>     *<a name="line.48"></a>
+<span class="sourceLineNo">049</span>     * @param out<a name="line.49"></a>
+<span class="sourceLineNo">050</span>     *            stream to which to 
print. Must not be null.<a name="line.50"></a>
+<span class="sourceLineNo">051</span>     * @param format<a name="line.51"></a>
+<span class="sourceLineNo">052</span>     *            the CSV format. Must 
not be null.<a name="line.52"></a>
+<span class="sourceLineNo">053</span>     * @throws IOException<a 
name="line.53"></a>
+<span class="sourceLineNo">054</span>     *             thrown if the optional 
header cannot be printed.<a name="line.54"></a>
+<span class="sourceLineNo">055</span>     * @throws IllegalArgumentException<a 
name="line.55"></a>
+<span class="sourceLineNo">056</span>     *             thrown if the 
parameters of the format are inconsistent or if either out or format are 
null.<a name="line.56"></a>
+<span class="sourceLineNo">057</span>     */<a name="line.57"></a>
+<span class="sourceLineNo">058</span>    public CSVPrinter(final Appendable 
out, final CSVFormat format) throws IOException {<a name="line.58"></a>
+<span class="sourceLineNo">059</span>        Assertions.notNull(out, "out");<a 
name="line.59"></a>
+<span class="sourceLineNo">060</span>        Assertions.notNull(format, 
"format");<a name="line.60"></a>
+<span class="sourceLineNo">061</span><a name="line.61"></a>
+<span class="sourceLineNo">062</span>        this.out = out;<a 
name="line.62"></a>
+<span class="sourceLineNo">063</span>        this.format = format;<a 
name="line.63"></a>
+<span class="sourceLineNo">064</span>        // TODO: Is it a good idea to do 
this here instead of on the first call to a print method?<a name="line.64"></a>
+<span class="sourceLineNo">065</span>        // It seems a pain to have to 
track whether the header has already been printed or not.<a name="line.65"></a>
+<span class="sourceLineNo">066</span>        if (format.getHeaderComments() != 
null) {<a name="line.66"></a>
+<span class="sourceLineNo">067</span>            for (final String line : 
format.getHeaderComments()) {<a name="line.67"></a>
+<span class="sourceLineNo">068</span>                if (line != null) {<a 
name="line.68"></a>
+<span class="sourceLineNo">069</span>                    
this.printComment(line);<a name="line.69"></a>
+<span class="sourceLineNo">070</span>                }<a name="line.70"></a>
+<span class="sourceLineNo">071</span>            }<a name="line.71"></a>
+<span class="sourceLineNo">072</span>        }<a name="line.72"></a>
+<span class="sourceLineNo">073</span>        if (format.getHeader() != null 
&amp;&amp; !format.getSkipHeaderRecord()) {<a name="line.73"></a>
+<span class="sourceLineNo">074</span>            this.printRecord((Object[]) 
format.getHeader());<a name="line.74"></a>
+<span class="sourceLineNo">075</span>        }<a name="line.75"></a>
+<span class="sourceLineNo">076</span>    }<a name="line.76"></a>
+<span class="sourceLineNo">077</span><a name="line.77"></a>
+<span class="sourceLineNo">078</span>    // 
======================================================<a name="line.78"></a>
+<span class="sourceLineNo">079</span>    // printing implementation<a 
name="line.79"></a>
+<span class="sourceLineNo">080</span>    // 
======================================================<a name="line.80"></a>
+<span class="sourceLineNo">081</span><a name="line.81"></a>
+<span class="sourceLineNo">082</span>    @Override<a name="line.82"></a>
+<span class="sourceLineNo">083</span>    public void close() throws 
IOException {<a name="line.83"></a>
+<span class="sourceLineNo">084</span>        if (out instanceof Closeable) {<a 
name="line.84"></a>
+<span class="sourceLineNo">085</span>            ((Closeable) out).close();<a 
name="line.85"></a>
+<span class="sourceLineNo">086</span>        }<a name="line.86"></a>
+<span class="sourceLineNo">087</span>    }<a name="line.87"></a>
+<span class="sourceLineNo">088</span><a name="line.88"></a>
+<span class="sourceLineNo">089</span>    /**<a name="line.89"></a>
+<span class="sourceLineNo">090</span>     * Flushes the underlying stream.<a 
name="line.90"></a>
+<span class="sourceLineNo">091</span>     *<a name="line.91"></a>
+<span class="sourceLineNo">092</span>     * @throws IOException<a 
name="line.92"></a>
+<span class="sourceLineNo">093</span>     *             If an I/O error 
occurs<a name="line.93"></a>
+<span class="sourceLineNo">094</span>     */<a name="line.94"></a>
+<span class="sourceLineNo">095</span>    @Override<a name="line.95"></a>
+<span class="sourceLineNo">096</span>    public void flush() throws 
IOException {<a name="line.96"></a>
+<span class="sourceLineNo">097</span>        if (out instanceof Flushable) {<a 
name="line.97"></a>
+<span class="sourceLineNo">098</span>            ((Flushable) out).flush();<a 
name="line.98"></a>
+<span class="sourceLineNo">099</span>        }<a name="line.99"></a>
+<span class="sourceLineNo">100</span>    }<a name="line.100"></a>
+<span class="sourceLineNo">101</span><a name="line.101"></a>
+<span class="sourceLineNo">102</span>    /**<a name="line.102"></a>
+<span class="sourceLineNo">103</span>     * Gets the target Appendable.<a 
name="line.103"></a>
+<span class="sourceLineNo">104</span>     *<a name="line.104"></a>
+<span class="sourceLineNo">105</span>     * @return the target Appendable.<a 
name="line.105"></a>
+<span class="sourceLineNo">106</span>     */<a name="line.106"></a>
+<span class="sourceLineNo">107</span>    public Appendable getOut() {<a 
name="line.107"></a>
+<span class="sourceLineNo">108</span>        return this.out;<a 
name="line.108"></a>
+<span class="sourceLineNo">109</span>    }<a name="line.109"></a>
+<span class="sourceLineNo">110</span><a name="line.110"></a>
+<span class="sourceLineNo">111</span>    /**<a name="line.111"></a>
+<span class="sourceLineNo">112</span>     * Prints the string as the next 
value on the line. The value will be escaped or encapsulated as needed.<a 
name="line.112"></a>
+<span class="sourceLineNo">113</span>     *<a name="line.113"></a>
+<span class="sourceLineNo">114</span>     * @param value<a name="line.114"></a>
+<span class="sourceLineNo">115</span>     *            value to be output.<a 
name="line.115"></a>
+<span class="sourceLineNo">116</span>     * @throws IOException<a 
name="line.116"></a>
+<span class="sourceLineNo">117</span>     *             If an I/O error 
occurs<a name="line.117"></a>
+<span class="sourceLineNo">118</span>     */<a name="line.118"></a>
+<span class="sourceLineNo">119</span>    public void print(final Object value) 
throws IOException {<a name="line.119"></a>
+<span class="sourceLineNo">120</span>        format.print(value, out, 
newRecord);<a name="line.120"></a>
+<span class="sourceLineNo">121</span>        newRecord = false;<a 
name="line.121"></a>
+<span class="sourceLineNo">122</span>    }<a name="line.122"></a>
+<span class="sourceLineNo">123</span><a name="line.123"></a>
+<span class="sourceLineNo">124</span>    /**<a name="line.124"></a>
+<span class="sourceLineNo">125</span>     * Prints a comment on a new line 
among the delimiter separated values.<a name="line.125"></a>
+<span class="sourceLineNo">126</span>     *<a name="line.126"></a>
+<span class="sourceLineNo">127</span>     * &lt;p&gt;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>     * Comments will always begin on a 
new line and occupy a least one full line. The character specified to start<a 
name="line.128"></a>
+<span class="sourceLineNo">129</span>     * comments and a space will be 
inserted at the beginning of each new line in the comment.<a 
name="line.129"></a>
+<span class="sourceLineNo">130</span>     * &lt;/p&gt;<a name="line.130"></a>
+<span class="sourceLineNo">131</span>     *<a name="line.131"></a>
+<span class="sourceLineNo">132</span>     * If comments are disabled in the 
current CSV format this method does nothing.<a name="line.132"></a>
+<span class="sourceLineNo">133</span>     *<a name="line.133"></a>
+<span class="sourceLineNo">134</span>     * @param comment<a 
name="line.134"></a>
+<span class="sourceLineNo">135</span>     *            the comment to output<a 
name="line.135"></a>
+<span class="sourceLineNo">136</span>     * @throws IOException<a 
name="line.136"></a>
+<span class="sourceLineNo">137</span>     *             If an I/O error 
occurs<a name="line.137"></a>
+<span class="sourceLineNo">138</span>     */<a name="line.138"></a>
+<span class="sourceLineNo">139</span>    public void printComment(final String 
comment) throws IOException {<a name="line.139"></a>
+<span class="sourceLineNo">140</span>        if (!format.isCommentMarkerSet()) 
{<a name="line.140"></a>
+<span class="sourceLineNo">141</span>            return;<a name="line.141"></a>
+<span class="sourceLineNo">142</span>        }<a name="line.142"></a>
+<span class="sourceLineNo">143</span>        if (!newRecord) {<a 
name="line.143"></a>
+<span class="sourceLineNo">144</span>            println();<a 
name="line.144"></a>
+<span class="sourceLineNo">145</span>        }<a name="line.145"></a>
+<span class="sourceLineNo">146</span>        
out.append(format.getCommentMarker().charValue());<a name="line.146"></a>
+<span class="sourceLineNo">147</span>        out.append(SP);<a 
name="line.147"></a>
+<span class="sourceLineNo">148</span>        for (int i = 0; i &lt; 
comment.length(); i++) {<a name="line.148"></a>
+<span class="sourceLineNo">149</span>            final char c = 
comment.charAt(i);<a name="line.149"></a>
+<span class="sourceLineNo">150</span>            switch (c) {<a 
name="line.150"></a>
+<span class="sourceLineNo">151</span>            case CR:<a 
name="line.151"></a>
+<span class="sourceLineNo">152</span>                if (i + 1 &lt; 
comment.length() &amp;&amp; comment.charAt(i + 1) == LF) {<a 
name="line.152"></a>
+<span class="sourceLineNo">153</span>                    i++;<a 
name="line.153"></a>
+<span class="sourceLineNo">154</span>                }<a name="line.154"></a>
+<span class="sourceLineNo">155</span>                //$FALL-THROUGH$ break 
intentionally excluded.<a name="line.155"></a>
+<span class="sourceLineNo">156</span>            case LF:<a 
name="line.156"></a>
+<span class="sourceLineNo">157</span>                println();<a 
name="line.157"></a>
+<span class="sourceLineNo">158</span>                
out.append(format.getCommentMarker().charValue());<a name="line.158"></a>
+<span class="sourceLineNo">159</span>                out.append(SP);<a 
name="line.159"></a>
+<span class="sourceLineNo">160</span>                break;<a 
name="line.160"></a>
+<span class="sourceLineNo">161</span>            default:<a 
name="line.161"></a>
+<span class="sourceLineNo">162</span>                out.append(c);<a 
name="line.162"></a>
+<span class="sourceLineNo">163</span>                break;<a 
name="line.163"></a>
+<span class="sourceLineNo">164</span>            }<a name="line.164"></a>
+<span class="sourceLineNo">165</span>        }<a name="line.165"></a>
+<span class="sourceLineNo">166</span>        println();<a name="line.166"></a>
+<span class="sourceLineNo">167</span>    }<a name="line.167"></a>
+<span class="sourceLineNo">168</span><a name="line.168"></a>
+<span class="sourceLineNo">169</span>    /**<a name="line.169"></a>
+<span class="sourceLineNo">170</span>     * Outputs the record separator.<a 
name="line.170"></a>
+<span class="sourceLineNo">171</span>     *<a name="line.171"></a>
+<span class="sourceLineNo">172</span>     * @throws IOException<a 
name="line.172"></a>
+<span class="sourceLineNo">173</span>     *             If an I/O error 
occurs<a name="line.173"></a>
+<span class="sourceLineNo">174</span>     */<a name="line.174"></a>
+<span class="sourceLineNo">175</span>    public void println() throws 
IOException {<a name="line.175"></a>
+<span class="sourceLineNo">176</span>        format.println(out);<a 
name="line.176"></a>
+<span class="sourceLineNo">177</span>        newRecord = true;<a 
name="line.177"></a>
+<span class="sourceLineNo">178</span>    }<a name="line.178"></a>
+<span class="sourceLineNo">179</span><a name="line.179"></a>
+<span class="sourceLineNo">180</span>    /**<a name="line.180"></a>
+<span class="sourceLineNo">181</span>     * Prints the given values a single 
record of delimiter separated values followed by the record separator.<a 
name="line.181"></a>
+<span class="sourceLineNo">182</span>     *<a name="line.182"></a>
+<span class="sourceLineNo">183</span>     * &lt;p&gt;<a name="line.183"></a>
+<span class="sourceLineNo">184</span>     * The values will be quoted if 
needed. Quotes and newLine characters will be escaped. This method adds the 
record<a name="line.184"></a>
+<span class="sourceLineNo">185</span>     * separator to the output after 
printing the record, so there is no need to call {@link #println()}.<a 
name="line.185"></a>
+<span class="sourceLineNo">186</span>     * &lt;/p&gt;<a name="line.186"></a>
+<span class="sourceLineNo">187</span>     *<a name="line.187"></a>
+<span class="sourceLineNo">188</span>     * @param values<a 
name="line.188"></a>
+<span class="sourceLineNo">189</span>     *            values to output.<a 
name="line.189"></a>
+<span class="sourceLineNo">190</span>     * @throws IOException<a 
name="line.190"></a>
+<span class="sourceLineNo">191</span>     *             If an I/O error 
occurs<a name="line.191"></a>
+<span class="sourceLineNo">192</span>     */<a name="line.192"></a>
+<span class="sourceLineNo">193</span>    public void printRecord(final 
Iterable&lt;?&gt; values) throws IOException {<a name="line.193"></a>
+<span class="sourceLineNo">194</span>        for (final Object value : values) 
{<a name="line.194"></a>
+<span class="sourceLineNo">195</span>            print(value);<a 
name="line.195"></a>
+<span class="sourceLineNo">196</span>        }<a name="line.196"></a>
+<span class="sourceLineNo">197</span>        println();<a name="line.197"></a>
+<span class="sourceLineNo">198</span>    }<a name="line.198"></a>
+<span class="sourceLineNo">199</span><a name="line.199"></a>
+<span class="sourceLineNo">200</span>    /**<a name="line.200"></a>
+<span class="sourceLineNo">201</span>     * Prints the given values a single 
record of delimiter separated values followed by the record separator.<a 
name="line.201"></a>
+<span class="sourceLineNo">202</span>     *<a name="line.202"></a>
+<span class="sourceLineNo">203</span>     * &lt;p&gt;<a name="line.203"></a>
+<span class="sourceLineNo">204</span>     * The values will be quoted if 
needed. Quotes and newLine characters will be escaped. This method adds the 
record<a name="line.204"></a>
+<span class="sourceLineNo">205</span>     * separator to the output after 
printing the record, so there is no need to call {@link #println()}.<a 
name="line.205"></a>
+<span class="sourceLineNo">206</span>     * &lt;/p&gt;<a name="line.206"></a>
+<span class="sourceLineNo">207</span>     *<a name="line.207"></a>
+<span class="sourceLineNo">208</span>     * @param values<a 
name="line.208"></a>
+<span class="sourceLineNo">209</span>     *            values to output.<a 
name="line.209"></a>
+<span class="sourceLineNo">210</span>     * @throws IOException<a 
name="line.210"></a>
+<span class="sourceLineNo">211</span>     *             If an I/O error 
occurs<a name="line.211"></a>
+<span class="sourceLineNo">212</span>     */<a name="line.212"></a>
+<span class="sourceLineNo">213</span>    public void printRecord(final 
Object... values) throws IOException {<a name="line.213"></a>
+<span class="sourceLineNo">214</span>        format.printRecord(out, 
values);<a name="line.214"></a>
+<span class="sourceLineNo">215</span>        newRecord = true;<a 
name="line.215"></a>
+<span class="sourceLineNo">216</span>    }<a name="line.216"></a>
+<span class="sourceLineNo">217</span><a name="line.217"></a>
+<span class="sourceLineNo">218</span>    /**<a name="line.218"></a>
+<span class="sourceLineNo">219</span>     * Prints all the objects in the 
given collection handling nested collections/arrays as records.<a 
name="line.219"></a>
+<span class="sourceLineNo">220</span>     *<a name="line.220"></a>
+<span class="sourceLineNo">221</span>     * &lt;p&gt;<a name="line.221"></a>
+<span class="sourceLineNo">222</span>     * If the given collection only 
contains simple objects, this method will print a single record like<a 
name="line.222"></a>
+<span class="sourceLineNo">223</span>     * {@link #printRecord(Iterable)}. If 
the given collections contains nested collections/arrays those nested 
elements<a name="line.223"></a>
+<span class="sourceLineNo">224</span>     * will each be printed as records 
using {@link #printRecord(Object...)}.<a name="line.224"></a>
+<span class="sourceLineNo">225</span>     * &lt;/p&gt;<a name="line.225"></a>
+<span class="sourceLineNo">226</span>     *<a name="line.226"></a>
+<span class="sourceLineNo">227</span>     * &lt;p&gt;<a name="line.227"></a>
+<span class="sourceLineNo">228</span>     * Given the following data 
structure:<a name="line.228"></a>
+<span class="sourceLineNo">229</span>     * &lt;/p&gt;<a name="line.229"></a>
+<span class="sourceLineNo">230</span>     *<a name="line.230"></a>
+<span class="sourceLineNo">231</span>     * &lt;pre&gt;<a name="line.231"></a>
+<span class="sourceLineNo">232</span>     * &lt;code&gt;<a name="line.232"></a>
+<span class="sourceLineNo">233</span>     * List&amp;lt;String[]&amp;gt; data 
= ...<a name="line.233"></a>
+<span class="sourceLineNo">234</span>     * data.add(new String[]{ "A", "B", 
"C" });<a name="line.234"></a>
+<span class="sourceLineNo">235</span>     * data.add(new String[]{ "1", "2", 
"3" });<a name="line.235"></a>
+<span class="sourceLineNo">236</span>     * data.add(new String[]{ "A1", "B2", 
"C3" });<a name="line.236"></a>
+<span class="sourceLineNo">237</span>     * &lt;/code&gt;<a 
name="line.237"></a>
+<span class="sourceLineNo">238</span>     * &lt;/pre&gt;<a name="line.238"></a>
+<span class="sourceLineNo">239</span>     *<a name="line.239"></a>
+<span class="sourceLineNo">240</span>     * &lt;p&gt;<a name="line.240"></a>
+<span class="sourceLineNo">241</span>     * Calling this method will print:<a 
name="line.241"></a>
+<span class="sourceLineNo">242</span>     * &lt;/p&gt;<a name="line.242"></a>
+<span class="sourceLineNo">243</span>     *<a name="line.243"></a>
+<span class="sourceLineNo">244</span>     * &lt;pre&gt;<a name="line.244"></a>
+<span class="sourceLineNo">245</span>     * &lt;code&gt;<a name="line.245"></a>
+<span class="sourceLineNo">246</span>     * A, B, C<a name="line.246"></a>
+<span class="sourceLineNo">247</span>     * 1, 2, 3<a name="line.247"></a>
+<span class="sourceLineNo">248</span>     * A1, B2, C3<a name="line.248"></a>
+<span class="sourceLineNo">249</span>     * &lt;/code&gt;<a 
name="line.249"></a>
+<span class="sourceLineNo">250</span>     * &lt;/pre&gt;<a name="line.250"></a>
+<span class="sourceLineNo">251</span>     *<a name="line.251"></a>
+<span class="sourceLineNo">252</span>     * @param values<a 
name="line.252"></a>
+<span class="sourceLineNo">253</span>     *            the values to print.<a 
name="line.253"></a>
+<span class="sourceLineNo">254</span>     * @throws IOException<a 
name="line.254"></a>
+<span class="sourceLineNo">255</span>     *             If an I/O error 
occurs<a name="line.255"></a>
+<span class="sourceLineNo">256</span>     */<a name="line.256"></a>
+<span class="sourceLineNo">257</span>    public void printRecords(final 
Iterable&lt;?&gt; values) throws IOException {<a name="line.257"></a>
+<span class="sourceLineNo">258</span>        for (final Object value : values) 
{<a name="line.258"></a>
+<span class="sourceLineNo">259</span>            if (value instanceof 
Object[]) {<a name="line.259"></a>
+<span class="sourceLineNo">260</span>                
this.printRecord((Object[]) value);<a name="line.260"></a>
+<span class="sourceLineNo">261</span>            } else if (value instanceof 
Iterable) {<a name="line.261"></a>
+<span class="sourceLineNo">262</span>                
this.printRecord((Iterable&lt;?&gt;) value);<a name="line.262"></a>
+<span class="sourceLineNo">263</span>            } else {<a 
name="line.263"></a>
+<span class="sourceLineNo">264</span>                
this.printRecord(value);<a name="line.264"></a>
+<span class="sourceLineNo">265</span>            }<a name="line.265"></a>
+<span class="sourceLineNo">266</span>        }<a name="line.266"></a>
+<span class="sourceLineNo">267</span>    }<a name="line.267"></a>
+<span class="sourceLineNo">268</span><a name="line.268"></a>
+<span class="sourceLineNo">269</span>    /**<a name="line.269"></a>
+<span class="sourceLineNo">270</span>     * Prints all the objects in the 
given array handling nested collections/arrays as records.<a 
name="line.270"></a>
+<span class="sourceLineNo">271</span>     *<a name="line.271"></a>
+<span class="sourceLineNo">272</span>     * &lt;p&gt;<a name="line.272"></a>
+<span class="sourceLineNo">273</span>     * If the given array only contains 
simple objects, this method will print a single record like<a 
name="line.273"></a>
+<span class="sourceLineNo">274</span>     * {@link #printRecord(Object...)}. 
If the given collections contains nested collections/arrays those nested<a 
name="line.274"></a>
+<span class="sourceLineNo">275</span>     * elements will each be printed as 
records using {@link #printRecord(Object...)}.<a name="line.275"></a>
+<span class="sourceLineNo">276</span>     * &lt;/p&gt;<a name="line.276"></a>
+<span class="sourceLineNo">277</span>     *<a name="line.277"></a>
+<span class="sourceLineNo">278</span>     * &lt;p&gt;<a name="line.278"></a>
+<span class="sourceLineNo">279</span>     * Given the following data 
structure:<a name="line.279"></a>
+<span class="sourceLineNo">280</span>     * &lt;/p&gt;<a name="line.280"></a>
+<span class="sourceLineNo">281</span>     *<a name="line.281"></a>
+<span class="sourceLineNo">282</span>     * &lt;pre&gt;<a name="line.282"></a>
+<span class="sourceLineNo">283</span>     * &lt;code&gt;<a name="line.283"></a>
+<span class="sourceLineNo">284</span>     * String[][] data = new 
String[3][]<a name="line.284"></a>
+<span class="sourceLineNo">285</span>     * data[0] = String[]{ "A", "B", "C" 
};<a name="line.285"></a>
+<span class="sourceLineNo">286</span>     * data[1] = new String[]{ "1", "2", 
"3" };<a name="line.286"></a>
+<span class="sourceLineNo">287</span>     * data[2] = new String[]{ "A1", 
"B2", "C3" };<a name="line.287"></a>
+<span class="sourceLineNo">288</span>     * &lt;/code&gt;<a 
name="line.288"></a>
+<span class="sourceLineNo">289</span>     * &lt;/pre&gt;<a name="line.289"></a>
+<span class="sourceLineNo">290</span>     *<a name="line.290"></a>
+<span class="sourceLineNo">291</span>     * &lt;p&gt;<a name="line.291"></a>
+<span class="sourceLineNo">292</span>     * Calling this method will print:<a 
name="line.292"></a>
+<span class="sourceLineNo">293</span>     * &lt;/p&gt;<a name="line.293"></a>
+<span class="sourceLineNo">294</span>     *<a name="line.294"></a>
+<span class="sourceLineNo">295</span>     * &lt;pre&gt;<a name="line.295"></a>
+<span class="sourceLineNo">296</span>     * &lt;code&gt;<a name="line.296"></a>
+<span class="sourceLineNo">297</span>     * A, B, C<a name="line.297"></a>
+<span class="sourceLineNo">298</span>     * 1, 2, 3<a name="line.298"></a>
+<span class="sourceLineNo">299</span>     * A1, B2, C3<a name="line.299"></a>
+<span class="sourceLineNo">300</span>     * &lt;/code&gt;<a 
name="line.300"></a>
+<span class="sourceLineNo">301</span>     * &lt;/pre&gt;<a name="line.301"></a>
+<span class="sourceLineNo">302</span>     *<a name="line.302"></a>
+<span class="sourceLineNo">303</span>     * @param values<a 
name="line.303"></a>
+<span class="sourceLineNo">304</span>     *            the values to print.<a 
name="line.304"></a>
+<span class="sourceLineNo">305</span>     * @throws IOException<a 
name="line.305"></a>
+<span class="sourceLineNo">306</span>     *             If an I/O error 
occurs<a name="line.306"></a>
+<span class="sourceLineNo">307</span>     */<a name="line.307"></a>
+<span class="sourceLineNo">308</span>    public void printRecords(final 
Object... values) throws IOException {<a name="line.308"></a>
+<span class="sourceLineNo">309</span>        for (final Object value : values) 
{<a name="line.309"></a>
+<span class="sourceLineNo">310</span>            if (value instanceof 
Object[]) {<a name="line.310"></a>
+<span class="sourceLineNo">311</span>                
this.printRecord((Object[]) value);<a name="line.311"></a>
+<span class="sourceLineNo">312</span>            } else if (value instanceof 
Iterable) {<a name="line.312"></a>
+<span class="sourceLineNo">313</span>                
this.printRecord((Iterable&lt;?&gt;) value);<a name="line.313"></a>
+<span class="sourceLineNo">314</span>            } else {<a 
name="line.314"></a>
+<span class="sourceLineNo">315</span>                
this.printRecord(value);<a name="line.315"></a>
+<span class="sourceLineNo">316</span>            }<a name="line.316"></a>
+<span class="sourceLineNo">317</span>        }<a name="line.317"></a>
+<span class="sourceLineNo">318</span>    }<a name="line.318"></a>
+<span class="sourceLineNo">319</span><a name="line.319"></a>
+<span class="sourceLineNo">320</span>    /**<a name="line.320"></a>
+<span class="sourceLineNo">321</span>     * Prints all the objects in the 
given JDBC result set.<a name="line.321"></a>
+<span class="sourceLineNo">322</span>     *<a name="line.322"></a>
+<span class="sourceLineNo">323</span>     * @param resultSet<a 
name="line.323"></a>
+<span class="sourceLineNo">324</span>     *            result set the values 
to print.<a name="line.324"></a>
+<span class="sourceLineNo">325</span>     * @throws IOException<a 
name="line.325"></a>
+<span class="sourceLineNo">326</span>     *             If an I/O error 
occurs<a name="line.326"></a>
+<span class="sourceLineNo">327</span>     * @throws SQLException<a 
name="line.327"></a>
+<span class="sourceLineNo">328</span>     *             if a database access 
error occurs<a name="line.328"></a>
+<span class="sourceLineNo">329</span>     */<a name="line.329"></a>
+<span class="sourceLineNo">330</span>    public void printRecords(final 
ResultSet resultSet) throws SQLException, IOException {<a name="line.330"></a>
+<span class="sourceLineNo">331</span>        final int columnCount = 
resultSet.getMetaData().getColumnCount();<a name="line.331"></a>
+<span class="sourceLineNo">332</span>        while (resultSet.next()) {<a 
name="line.332"></a>
+<span class="sourceLineNo">333</span>            for (int i = 1; i &lt;= 
columnCount; i++) {<a name="line.333"></a>
+<span class="sourceLineNo">334</span>                
print(resultSet.getObject(i));<a name="line.334"></a>
+<span class="sourceLineNo">335</span>            }<a name="line.335"></a>
+<span class="sourceLineNo">336</span>            println();<a 
name="line.336"></a>
+<span class="sourceLineNo">337</span>        }<a name="line.337"></a>
+<span class="sourceLineNo">338</span>    }<a name="line.338"></a>
+<span class="sourceLineNo">339</span>}<a name="line.339"></a>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</pre>
+</div>
+</body>
+</html>

Added: 
websites/production/commons/content/proper/commons-csv/archives/1.5/apidocs/src-html/org/apache/commons/csv/CSVRecord.html
==============================================================================
--- 
websites/production/commons/content/proper/commons-csv/archives/1.5/apidocs/src-html/org/apache/commons/csv/CSVRecord.html
 (added)
+++ 
websites/production/commons/content/proper/commons-csv/archives/1.5/apidocs/src-html/org/apache/commons/csv/CSVRecord.html
 Mon Jan 29 17:25:21 2018
@@ -0,0 +1,348 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
+<html lang="en">
+<head>
+<title>Source code</title>
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" 
title="Style">
+</head>
+<body>
+<div class="sourceContainer">
+<pre><span class="sourceLineNo">001</span>/*<a name="line.1"></a>
+<span class="sourceLineNo">002</span> * Licensed to the Apache Software 
Foundation (ASF) under one or more<a name="line.2"></a>
+<span class="sourceLineNo">003</span> * contributor license agreements.  See 
the NOTICE file distributed with<a name="line.3"></a>
+<span class="sourceLineNo">004</span> * this work for additional information 
regarding copyright ownership.<a name="line.4"></a>
+<span class="sourceLineNo">005</span> * The ASF licenses this file to You 
under the Apache License, Version 2.0<a name="line.5"></a>
+<span class="sourceLineNo">006</span> * (the "License"); you may not use this 
file except in compliance with<a name="line.6"></a>
+<span class="sourceLineNo">007</span> * the License.  You may obtain a copy of 
the License at<a name="line.7"></a>
+<span class="sourceLineNo">008</span> *<a name="line.8"></a>
+<span class="sourceLineNo">009</span> *      
http://www.apache.org/licenses/LICENSE-2.0<a name="line.9"></a>
+<span class="sourceLineNo">010</span> *<a name="line.10"></a>
+<span class="sourceLineNo">011</span> * Unless required by applicable law or 
agreed to in writing, software<a name="line.11"></a>
+<span class="sourceLineNo">012</span> * distributed under the License is 
distributed on an "AS IS" BASIS,<a name="line.12"></a>
+<span class="sourceLineNo">013</span> * WITHOUT WARRANTIES OR CONDITIONS OF 
ANY KIND, either express or implied.<a name="line.13"></a>
+<span class="sourceLineNo">014</span> * See the License for the specific 
language governing permissions and<a name="line.14"></a>
+<span class="sourceLineNo">015</span> * limitations under the License.<a 
name="line.15"></a>
+<span class="sourceLineNo">016</span> */<a name="line.16"></a>
+<span class="sourceLineNo">017</span><a name="line.17"></a>
+<span class="sourceLineNo">018</span>package org.apache.commons.csv;<a 
name="line.18"></a>
+<span class="sourceLineNo">019</span><a name="line.19"></a>
+<span class="sourceLineNo">020</span>import java.io.Serializable;<a 
name="line.20"></a>
+<span class="sourceLineNo">021</span>import java.util.Arrays;<a 
name="line.21"></a>
+<span class="sourceLineNo">022</span>import java.util.HashMap;<a 
name="line.22"></a>
+<span class="sourceLineNo">023</span>import java.util.Iterator;<a 
name="line.23"></a>
+<span class="sourceLineNo">024</span>import java.util.List;<a 
name="line.24"></a>
+<span class="sourceLineNo">025</span>import java.util.Map;<a 
name="line.25"></a>
+<span class="sourceLineNo">026</span>import java.util.Map.Entry;<a 
name="line.26"></a>
+<span class="sourceLineNo">027</span><a name="line.27"></a>
+<span class="sourceLineNo">028</span>/**<a name="line.28"></a>
+<span class="sourceLineNo">029</span> * A CSV record parsed from a CSV file.<a 
name="line.29"></a>
+<span class="sourceLineNo">030</span> */<a name="line.30"></a>
+<span class="sourceLineNo">031</span>public final class CSVRecord implements 
Serializable, Iterable&lt;String&gt; {<a name="line.31"></a>
+<span class="sourceLineNo">032</span><a name="line.32"></a>
+<span class="sourceLineNo">033</span>    private static final String[] 
EMPTY_STRING_ARRAY = new String[0];<a name="line.33"></a>
+<span class="sourceLineNo">034</span><a name="line.34"></a>
+<span class="sourceLineNo">035</span>    private static final long 
serialVersionUID = 1L;<a name="line.35"></a>
+<span class="sourceLineNo">036</span><a name="line.36"></a>
+<span class="sourceLineNo">037</span>    private final long 
characterPosition;<a name="line.37"></a>
+<span class="sourceLineNo">038</span><a name="line.38"></a>
+<span class="sourceLineNo">039</span>    /** The accumulated comments (if any) 
*/<a name="line.39"></a>
+<span class="sourceLineNo">040</span>    private final String comment;<a 
name="line.40"></a>
+<span class="sourceLineNo">041</span><a name="line.41"></a>
+<span class="sourceLineNo">042</span>    /** The column name to index mapping. 
*/<a name="line.42"></a>
+<span class="sourceLineNo">043</span>    private final Map&lt;String, 
Integer&gt; mapping;<a name="line.43"></a>
+<span class="sourceLineNo">044</span><a name="line.44"></a>
+<span class="sourceLineNo">045</span>    /** The record number. */<a 
name="line.45"></a>
+<span class="sourceLineNo">046</span>    private final long recordNumber;<a 
name="line.46"></a>
+<span class="sourceLineNo">047</span><a name="line.47"></a>
+<span class="sourceLineNo">048</span>    /** The values of the record */<a 
name="line.48"></a>
+<span class="sourceLineNo">049</span>    private final String[] values;<a 
name="line.49"></a>
+<span class="sourceLineNo">050</span><a name="line.50"></a>
+<span class="sourceLineNo">051</span>    CSVRecord(final String[] values, 
final Map&lt;String, Integer&gt; mapping, final String comment, final long 
recordNumber,<a name="line.51"></a>
+<span class="sourceLineNo">052</span>            final long characterPosition) 
{<a name="line.52"></a>
+<span class="sourceLineNo">053</span>        this.recordNumber = 
recordNumber;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>        this.values = values != null ? 
values : EMPTY_STRING_ARRAY;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>        this.mapping = mapping;<a 
name="line.55"></a>
+<span class="sourceLineNo">056</span>        this.comment = comment;<a 
name="line.56"></a>
+<span class="sourceLineNo">057</span>        this.characterPosition = 
characterPosition;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>    }<a name="line.58"></a>
+<span class="sourceLineNo">059</span><a name="line.59"></a>
+<span class="sourceLineNo">060</span>    /**<a name="line.60"></a>
+<span class="sourceLineNo">061</span>     * Returns a value by {@link Enum}.<a 
name="line.61"></a>
+<span class="sourceLineNo">062</span>     *<a name="line.62"></a>
+<span class="sourceLineNo">063</span>     * @param e<a name="line.63"></a>
+<span class="sourceLineNo">064</span>     *            an enum<a 
name="line.64"></a>
+<span class="sourceLineNo">065</span>     * @return the String at the given 
enum String<a name="line.65"></a>
+<span class="sourceLineNo">066</span>     */<a name="line.66"></a>
+<span class="sourceLineNo">067</span>    public String get(final Enum&lt;?&gt; 
e) {<a name="line.67"></a>
+<span class="sourceLineNo">068</span>        return get(e.toString());<a 
name="line.68"></a>
+<span class="sourceLineNo">069</span>    }<a name="line.69"></a>
+<span class="sourceLineNo">070</span><a name="line.70"></a>
+<span class="sourceLineNo">071</span>    /**<a name="line.71"></a>
+<span class="sourceLineNo">072</span>     * Returns a value by index.<a 
name="line.72"></a>
+<span class="sourceLineNo">073</span>     *<a name="line.73"></a>
+<span class="sourceLineNo">074</span>     * @param i<a name="line.74"></a>
+<span class="sourceLineNo">075</span>     *            a column index 
(0-based)<a name="line.75"></a>
+<span class="sourceLineNo">076</span>     * @return the String at the given 
index<a name="line.76"></a>
+<span class="sourceLineNo">077</span>     */<a name="line.77"></a>
+<span class="sourceLineNo">078</span>    public String get(final int i) {<a 
name="line.78"></a>
+<span class="sourceLineNo">079</span>        return values[i];<a 
name="line.79"></a>
+<span class="sourceLineNo">080</span>    }<a name="line.80"></a>
+<span class="sourceLineNo">081</span><a name="line.81"></a>
+<span class="sourceLineNo">082</span>    /**<a name="line.82"></a>
+<span class="sourceLineNo">083</span>     * Returns a value by name.<a 
name="line.83"></a>
+<span class="sourceLineNo">084</span>     *<a name="line.84"></a>
+<span class="sourceLineNo">085</span>     * @param name<a name="line.85"></a>
+<span class="sourceLineNo">086</span>     *            the name of the column 
to be retrieved.<a name="line.86"></a>
+<span class="sourceLineNo">087</span>     * @return the column value, maybe 
null depending on {@link CSVFormat#getNullString()}.<a name="line.87"></a>
+<span class="sourceLineNo">088</span>     * @throws IllegalStateException<a 
name="line.88"></a>
+<span class="sourceLineNo">089</span>     *             if no header mapping 
was provided<a name="line.89"></a>
+<span class="sourceLineNo">090</span>     * @throws IllegalArgumentException<a 
name="line.90"></a>
+<span class="sourceLineNo">091</span>     *             if {@code name} is not 
mapped or if the record is inconsistent<a name="line.91"></a>
+<span class="sourceLineNo">092</span>     * @see #isConsistent()<a 
name="line.92"></a>
+<span class="sourceLineNo">093</span>     * @see 
CSVFormat#withNullString(String)<a name="line.93"></a>
+<span class="sourceLineNo">094</span>     */<a name="line.94"></a>
+<span class="sourceLineNo">095</span>    public String get(final String name) 
{<a name="line.95"></a>
+<span class="sourceLineNo">096</span>        if (mapping == null) {<a 
name="line.96"></a>
+<span class="sourceLineNo">097</span>            throw new 
IllegalStateException(<a name="line.97"></a>
+<span class="sourceLineNo">098</span>                "No header mapping was 
specified, the record values can't be accessed by name");<a name="line.98"></a>
+<span class="sourceLineNo">099</span>        }<a name="line.99"></a>
+<span class="sourceLineNo">100</span>        final Integer index = 
mapping.get(name);<a name="line.100"></a>
+<span class="sourceLineNo">101</span>        if (index == null) {<a 
name="line.101"></a>
+<span class="sourceLineNo">102</span>            throw new 
IllegalArgumentException(String.format("Mapping for %s not found, expected one 
of %s", name,<a name="line.102"></a>
+<span class="sourceLineNo">103</span>                mapping.keySet()));<a 
name="line.103"></a>
+<span class="sourceLineNo">104</span>        }<a name="line.104"></a>
+<span class="sourceLineNo">105</span>        try {<a name="line.105"></a>
+<span class="sourceLineNo">106</span>            return 
values[index.intValue()];<a name="line.106"></a>
+<span class="sourceLineNo">107</span>        } catch (final 
ArrayIndexOutOfBoundsException e) {<a name="line.107"></a>
+<span class="sourceLineNo">108</span>            throw new 
IllegalArgumentException(String.format(<a name="line.108"></a>
+<span class="sourceLineNo">109</span>                "Index for header '%s' is 
%d but CSVRecord only has %d values!", name, index,<a name="line.109"></a>
+<span class="sourceLineNo">110</span>                
Integer.valueOf(values.length)));<a name="line.110"></a>
+<span class="sourceLineNo">111</span>        }<a name="line.111"></a>
+<span class="sourceLineNo">112</span>    }<a name="line.112"></a>
+<span class="sourceLineNo">113</span><a name="line.113"></a>
+<span class="sourceLineNo">114</span>    /**<a name="line.114"></a>
+<span class="sourceLineNo">115</span>     * Returns the start position of this 
record as a character position in the source stream. This may or may not<a 
name="line.115"></a>
+<span class="sourceLineNo">116</span>     * correspond to the byte position 
depending on the character set.<a name="line.116"></a>
+<span class="sourceLineNo">117</span>     *<a name="line.117"></a>
+<span class="sourceLineNo">118</span>     * @return the position of this 
record in the source stream.<a name="line.118"></a>
+<span class="sourceLineNo">119</span>     */<a name="line.119"></a>
+<span class="sourceLineNo">120</span>    public long getCharacterPosition() 
{<a name="line.120"></a>
+<span class="sourceLineNo">121</span>        return characterPosition;<a 
name="line.121"></a>
+<span class="sourceLineNo">122</span>    }<a name="line.122"></a>
+<span class="sourceLineNo">123</span><a name="line.123"></a>
+<span class="sourceLineNo">124</span>    /**<a name="line.124"></a>
+<span class="sourceLineNo">125</span>     * Returns the comment for this 
record, if any.<a name="line.125"></a>
+<span class="sourceLineNo">126</span>     * Note that comments are attached to 
the following record.<a name="line.126"></a>
+<span class="sourceLineNo">127</span>     * If there is no following record 
(i.e. the comment is at EOF)<a name="line.127"></a>
+<span class="sourceLineNo">128</span>     * the comment will be ignored.<a 
name="line.128"></a>
+<span class="sourceLineNo">129</span>     *<a name="line.129"></a>
+<span class="sourceLineNo">130</span>     * @return the comment for this 
record, or null if no comment for this record is available.<a 
name="line.130"></a>
+<span class="sourceLineNo">131</span>     */<a name="line.131"></a>
+<span class="sourceLineNo">132</span>    public String getComment() {<a 
name="line.132"></a>
+<span class="sourceLineNo">133</span>        return comment;<a 
name="line.133"></a>
+<span class="sourceLineNo">134</span>    }<a name="line.134"></a>
+<span class="sourceLineNo">135</span><a name="line.135"></a>
+<span class="sourceLineNo">136</span>    /**<a name="line.136"></a>
+<span class="sourceLineNo">137</span>     * Returns the number of this record 
in the parsed CSV file.<a name="line.137"></a>
+<span class="sourceLineNo">138</span>     *<a name="line.138"></a>
+<span class="sourceLineNo">139</span>     * &lt;p&gt;<a name="line.139"></a>
+<span class="sourceLineNo">140</span>     * 
&lt;strong&gt;ATTENTION:&lt;/strong&gt; If your CSV input has multi-line 
values, the returned number does not correspond to<a name="line.140"></a>
+<span class="sourceLineNo">141</span>     * the current line number of the 
parser that created this record.<a name="line.141"></a>
+<span class="sourceLineNo">142</span>     * &lt;/p&gt;<a name="line.142"></a>
+<span class="sourceLineNo">143</span>     *<a name="line.143"></a>
+<span class="sourceLineNo">144</span>     * @return the number of this 
record.<a name="line.144"></a>
+<span class="sourceLineNo">145</span>     * @see 
CSVParser#getCurrentLineNumber()<a name="line.145"></a>
+<span class="sourceLineNo">146</span>     */<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    public long getRecordNumber() {<a 
name="line.147"></a>
+<span class="sourceLineNo">148</span>        return recordNumber;<a 
name="line.148"></a>
+<span class="sourceLineNo">149</span>    }<a name="line.149"></a>
+<span class="sourceLineNo">150</span><a name="line.150"></a>
+<span class="sourceLineNo">151</span>    /**<a name="line.151"></a>
+<span class="sourceLineNo">152</span>     * Tells whether the record size 
matches the header size.<a name="line.152"></a>
+<span class="sourceLineNo">153</span>     *<a name="line.153"></a>
+<span class="sourceLineNo">154</span>     * &lt;p&gt;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>     * Returns true if the sizes for this 
record match and false if not. Some programs can export files that fail this<a 
name="line.155"></a>
+<span class="sourceLineNo">156</span>     * test but still produce parsable 
files.<a name="line.156"></a>
+<span class="sourceLineNo">157</span>     * &lt;/p&gt;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>     *<a name="line.158"></a>
+<span class="sourceLineNo">159</span>     * @return true of this record is 
valid, false if not<a name="line.159"></a>
+<span class="sourceLineNo">160</span>     */<a name="line.160"></a>
+<span class="sourceLineNo">161</span>    public boolean isConsistent() {<a 
name="line.161"></a>
+<span class="sourceLineNo">162</span>        return mapping == null || 
mapping.size() == values.length;<a name="line.162"></a>
+<span class="sourceLineNo">163</span>    }<a name="line.163"></a>
+<span class="sourceLineNo">164</span><a name="line.164"></a>
+<span class="sourceLineNo">165</span>    /**<a name="line.165"></a>
+<span class="sourceLineNo">166</span>     * Checks whether this record has a 
comment, false otherwise.<a name="line.166"></a>
+<span class="sourceLineNo">167</span>     * Note that comments are attached to 
the following record.<a name="line.167"></a>
+<span class="sourceLineNo">168</span>     * If there is no following record 
(i.e. the comment is at EOF)<a name="line.168"></a>
+<span class="sourceLineNo">169</span>     * the comment will be ignored.<a 
name="line.169"></a>
+<span class="sourceLineNo">170</span>     *<a name="line.170"></a>
+<span class="sourceLineNo">171</span>     * @return true if this record has a 
comment, false otherwise<a name="line.171"></a>
+<span class="sourceLineNo">172</span>     * @since 1.3<a name="line.172"></a>
+<span class="sourceLineNo">173</span>     */<a name="line.173"></a>
+<span class="sourceLineNo">174</span>    public boolean hasComment() {<a 
name="line.174"></a>
+<span class="sourceLineNo">175</span>        return comment != null;<a 
name="line.175"></a>
+<span class="sourceLineNo">176</span>    }<a name="line.176"></a>
+<span class="sourceLineNo">177</span><a name="line.177"></a>
+<span class="sourceLineNo">178</span>    /**<a name="line.178"></a>
+<span class="sourceLineNo">179</span>     * Checks whether a given column is 
mapped, i.e. its name has been defined to the parser.<a name="line.179"></a>
+<span class="sourceLineNo">180</span>     *<a name="line.180"></a>
+<span class="sourceLineNo">181</span>     * @param name<a name="line.181"></a>
+<span class="sourceLineNo">182</span>     *            the name of the column 
to be retrieved.<a name="line.182"></a>
+<span class="sourceLineNo">183</span>     * @return whether a given column is 
mapped.<a name="line.183"></a>
+<span class="sourceLineNo">184</span>     */<a name="line.184"></a>
+<span class="sourceLineNo">185</span>    public boolean isMapped(final String 
name) {<a name="line.185"></a>
+<span class="sourceLineNo">186</span>        return mapping != null &amp;&amp; 
mapping.containsKey(name);<a name="line.186"></a>
+<span class="sourceLineNo">187</span>    }<a name="line.187"></a>
+<span class="sourceLineNo">188</span><a name="line.188"></a>
+<span class="sourceLineNo">189</span>    /**<a name="line.189"></a>
+<span class="sourceLineNo">190</span>     * Checks whether a given columns is 
mapped and has a value.<a name="line.190"></a>
+<span class="sourceLineNo">191</span>     *<a name="line.191"></a>
+<span class="sourceLineNo">192</span>     * @param name<a name="line.192"></a>
+<span class="sourceLineNo">193</span>     *            the name of the column 
to be retrieved.<a name="line.193"></a>
+<span class="sourceLineNo">194</span>     * @return whether a given columns is 
mapped and has a value<a name="line.194"></a>
+<span class="sourceLineNo">195</span>     */<a name="line.195"></a>
+<span class="sourceLineNo">196</span>    public boolean isSet(final String 
name) {<a name="line.196"></a>
+<span class="sourceLineNo">197</span>        return isMapped(name) &amp;&amp; 
mapping.get(name).intValue() &lt; values.length;<a name="line.197"></a>
+<span class="sourceLineNo">198</span>    }<a name="line.198"></a>
+<span class="sourceLineNo">199</span><a name="line.199"></a>
+<span class="sourceLineNo">200</span>    /**<a name="line.200"></a>
+<span class="sourceLineNo">201</span>     * Returns an iterator over the 
values of this record.<a name="line.201"></a>
+<span class="sourceLineNo">202</span>     *<a name="line.202"></a>
+<span class="sourceLineNo">203</span>     * @return an iterator over the 
values of this record.<a name="line.203"></a>
+<span class="sourceLineNo">204</span>     */<a name="line.204"></a>
+<span class="sourceLineNo">205</span>    @Override<a name="line.205"></a>
+<span class="sourceLineNo">206</span>    public Iterator&lt;String&gt; 
iterator() {<a name="line.206"></a>
+<span class="sourceLineNo">207</span>        return toList().iterator();<a 
name="line.207"></a>
+<span class="sourceLineNo">208</span>    }<a name="line.208"></a>
+<span class="sourceLineNo">209</span><a name="line.209"></a>
+<span class="sourceLineNo">210</span>    /**<a name="line.210"></a>
+<span class="sourceLineNo">211</span>     * Puts all values of this record 
into the given Map.<a name="line.211"></a>
+<span class="sourceLineNo">212</span>     *<a name="line.212"></a>
+<span class="sourceLineNo">213</span>     * @param map<a name="line.213"></a>
+<span class="sourceLineNo">214</span>     *            The Map to populate.<a 
name="line.214"></a>
+<span class="sourceLineNo">215</span>     * @return the given map.<a 
name="line.215"></a>
+<span class="sourceLineNo">216</span>     */<a name="line.216"></a>
+<span class="sourceLineNo">217</span>    &lt;M extends Map&lt;String, 
String&gt;&gt; M putIn(final M map) {<a name="line.217"></a>
+<span class="sourceLineNo">218</span>        if (mapping == null) {<a 
name="line.218"></a>
+<span class="sourceLineNo">219</span>            return map;<a 
name="line.219"></a>
+<span class="sourceLineNo">220</span>        }<a name="line.220"></a>
+<span class="sourceLineNo">221</span>        for (final Entry&lt;String, 
Integer&gt; entry : mapping.entrySet()) {<a name="line.221"></a>
+<span class="sourceLineNo">222</span>            final int col = 
entry.getValue().intValue();<a name="line.222"></a>
+<span class="sourceLineNo">223</span>            if (col &lt; values.length) 
{<a name="line.223"></a>
+<span class="sourceLineNo">224</span>                map.put(entry.getKey(), 
values[col]);<a name="line.224"></a>
+<span class="sourceLineNo">225</span>            }<a name="line.225"></a>
+<span class="sourceLineNo">226</span>        }<a name="line.226"></a>
+<span class="sourceLineNo">227</span>        return map;<a name="line.227"></a>
+<span class="sourceLineNo">228</span>    }<a name="line.228"></a>
+<span class="sourceLineNo">229</span><a name="line.229"></a>
+<span class="sourceLineNo">230</span>    /**<a name="line.230"></a>
+<span class="sourceLineNo">231</span>     * Returns the number of values in 
this record.<a name="line.231"></a>
+<span class="sourceLineNo">232</span>     *<a name="line.232"></a>
+<span class="sourceLineNo">233</span>     * @return the number of values.<a 
name="line.233"></a>
+<span class="sourceLineNo">234</span>     */<a name="line.234"></a>
+<span class="sourceLineNo">235</span>    public int size() {<a 
name="line.235"></a>
+<span class="sourceLineNo">236</span>        return values.length;<a 
name="line.236"></a>
+<span class="sourceLineNo">237</span>    }<a name="line.237"></a>
+<span class="sourceLineNo">238</span><a name="line.238"></a>
+<span class="sourceLineNo">239</span>    /**<a name="line.239"></a>
+<span class="sourceLineNo">240</span>     * Converts the values to a List.<a 
name="line.240"></a>
+<span class="sourceLineNo">241</span>     *<a name="line.241"></a>
+<span class="sourceLineNo">242</span>     * TODO: Maybe make this public?<a 
name="line.242"></a>
+<span class="sourceLineNo">243</span>     *<a name="line.243"></a>
+<span class="sourceLineNo">244</span>     * @return a new List<a 
name="line.244"></a>
+<span class="sourceLineNo">245</span>     */<a name="line.245"></a>
+<span class="sourceLineNo">246</span>    private List&lt;String&gt; toList() 
{<a name="line.246"></a>
+<span class="sourceLineNo">247</span>        return Arrays.asList(values);<a 
name="line.247"></a>
+<span class="sourceLineNo">248</span>    }<a name="line.248"></a>
+<span class="sourceLineNo">249</span><a name="line.249"></a>
+<span class="sourceLineNo">250</span>    /**<a name="line.250"></a>
+<span class="sourceLineNo">251</span>     * Copies this record into a new Map. 
The new map is not connect<a name="line.251"></a>
+<span class="sourceLineNo">252</span>     *<a name="line.252"></a>
+<span class="sourceLineNo">253</span>     * @return A new Map. The map is 
empty if the record has no headers.<a name="line.253"></a>
+<span class="sourceLineNo">254</span>     */<a name="line.254"></a>
+<span class="sourceLineNo">255</span>    public Map&lt;String, String&gt; 
toMap() {<a name="line.255"></a>
+<span class="sourceLineNo">256</span>        return putIn(new 
HashMap&lt;String, String&gt;(values.length));<a name="line.256"></a>
+<span class="sourceLineNo">257</span>    }<a name="line.257"></a>
+<span class="sourceLineNo">258</span><a name="line.258"></a>
+<span class="sourceLineNo">259</span>    /**<a name="line.259"></a>
+<span class="sourceLineNo">260</span>     * Returns a string representation of 
the contents of this record. The result is constructed by comment, mapping,<a 
name="line.260"></a>
+<span class="sourceLineNo">261</span>     * recordNumber and by passing the 
internal values array to {@link Arrays#toString(Object[])}.<a 
name="line.261"></a>
+<span class="sourceLineNo">262</span>     *<a name="line.262"></a>
+<span class="sourceLineNo">263</span>     * @return a String representation of 
this record.<a name="line.263"></a>
+<span class="sourceLineNo">264</span>     */<a name="line.264"></a>
+<span class="sourceLineNo">265</span>    @Override<a name="line.265"></a>
+<span class="sourceLineNo">266</span>    public String toString() {<a 
name="line.266"></a>
+<span class="sourceLineNo">267</span>        return "CSVRecord [comment=" + 
comment + ", mapping=" + mapping +<a name="line.267"></a>
+<span class="sourceLineNo">268</span>                ", recordNumber=" + 
recordNumber + ", values=" +<a name="line.268"></a>
+<span class="sourceLineNo">269</span>                Arrays.toString(values) + 
"]";<a name="line.269"></a>
+<span class="sourceLineNo">270</span>    }<a name="line.270"></a>
+<span class="sourceLineNo">271</span><a name="line.271"></a>
+<span class="sourceLineNo">272</span>    String[] values() {<a 
name="line.272"></a>
+<span class="sourceLineNo">273</span>        return values;<a 
name="line.273"></a>
+<span class="sourceLineNo">274</span>    }<a name="line.274"></a>
+<span class="sourceLineNo">275</span><a name="line.275"></a>
+<span class="sourceLineNo">276</span>}<a name="line.276"></a>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</pre>
+</div>
+</body>
+</html>

Added: 
websites/production/commons/content/proper/commons-csv/archives/1.5/apidocs/src-html/org/apache/commons/csv/QuoteMode.html
==============================================================================
--- 
websites/production/commons/content/proper/commons-csv/archives/1.5/apidocs/src-html/org/apache/commons/csv/QuoteMode.html
 (added)
+++ 
websites/production/commons/content/proper/commons-csv/archives/1.5/apidocs/src-html/org/apache/commons/csv/QuoteMode.html
 Mon Jan 29 17:25:21 2018
@@ -0,0 +1,123 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
+<html lang="en">
+<head>
+<title>Source code</title>
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" 
title="Style">
+</head>
+<body>
+<div class="sourceContainer">
+<pre><span class="sourceLineNo">001</span>/*<a name="line.1"></a>
+<span class="sourceLineNo">002</span> * Licensed to the Apache Software 
Foundation (ASF) under one or more<a name="line.2"></a>
+<span class="sourceLineNo">003</span> * contributor license agreements.  See 
the NOTICE file distributed with<a name="line.3"></a>
+<span class="sourceLineNo">004</span> * this work for additional information 
regarding copyright ownership.<a name="line.4"></a>
+<span class="sourceLineNo">005</span> * The ASF licenses this file to You 
under the Apache License, Version 2.0<a name="line.5"></a>
+<span class="sourceLineNo">006</span> * (the "License"); you may not use this 
file except in compliance with<a name="line.6"></a>
+<span class="sourceLineNo">007</span> * the License.  You may obtain a copy of 
the License at<a name="line.7"></a>
+<span class="sourceLineNo">008</span> *<a name="line.8"></a>
+<span class="sourceLineNo">009</span> *      
http://www.apache.org/licenses/LICENSE-2.0<a name="line.9"></a>
+<span class="sourceLineNo">010</span> *<a name="line.10"></a>
+<span class="sourceLineNo">011</span> * Unless required by applicable law or 
agreed to in writing, software<a name="line.11"></a>
+<span class="sourceLineNo">012</span> * distributed under the License is 
distributed on an "AS IS" BASIS,<a name="line.12"></a>
+<span class="sourceLineNo">013</span> * WITHOUT WARRANTIES OR CONDITIONS OF 
ANY KIND, either express or implied.<a name="line.13"></a>
+<span class="sourceLineNo">014</span> * See the License for the specific 
language governing permissions and<a name="line.14"></a>
+<span class="sourceLineNo">015</span> * limitations under the License.<a 
name="line.15"></a>
+<span class="sourceLineNo">016</span> */<a name="line.16"></a>
+<span class="sourceLineNo">017</span>package org.apache.commons.csv;<a 
name="line.17"></a>
+<span class="sourceLineNo">018</span><a name="line.18"></a>
+<span class="sourceLineNo">019</span>/**<a name="line.19"></a>
+<span class="sourceLineNo">020</span> * Defines quote behavior when 
printing.<a name="line.20"></a>
+<span class="sourceLineNo">021</span> *<a name="line.21"></a>
+<span class="sourceLineNo">022</span> */<a name="line.22"></a>
+<span class="sourceLineNo">023</span>public enum QuoteMode {<a 
name="line.23"></a>
+<span class="sourceLineNo">024</span><a name="line.24"></a>
+<span class="sourceLineNo">025</span>    /**<a name="line.25"></a>
+<span class="sourceLineNo">026</span>     * Quotes all fields.<a 
name="line.26"></a>
+<span class="sourceLineNo">027</span>     */<a name="line.27"></a>
+<span class="sourceLineNo">028</span>    ALL,<a name="line.28"></a>
+<span class="sourceLineNo">029</span><a name="line.29"></a>
+<span class="sourceLineNo">030</span>    /**<a name="line.30"></a>
+<span class="sourceLineNo">031</span>     * Quotes all non-null fields.<a 
name="line.31"></a>
+<span class="sourceLineNo">032</span>     */<a name="line.32"></a>
+<span class="sourceLineNo">033</span>    ALL_NON_NULL,<a name="line.33"></a>
+<span class="sourceLineNo">034</span><a name="line.34"></a>
+<span class="sourceLineNo">035</span>    /**<a name="line.35"></a>
+<span class="sourceLineNo">036</span>     * Quotes fields which contain 
special characters such as a delimiter, quotes character or any of the 
characters in<a name="line.36"></a>
+<span class="sourceLineNo">037</span>     * line separator.<a 
name="line.37"></a>
+<span class="sourceLineNo">038</span>     */<a name="line.38"></a>
+<span class="sourceLineNo">039</span>    MINIMAL,<a name="line.39"></a>
+<span class="sourceLineNo">040</span><a name="line.40"></a>
+<span class="sourceLineNo">041</span>    /**<a name="line.41"></a>
+<span class="sourceLineNo">042</span>     * Quotes all non-numeric fields.<a 
name="line.42"></a>
+<span class="sourceLineNo">043</span>     */<a name="line.43"></a>
+<span class="sourceLineNo">044</span>    NON_NUMERIC,<a name="line.44"></a>
+<span class="sourceLineNo">045</span><a name="line.45"></a>
+<span class="sourceLineNo">046</span>    /**<a name="line.46"></a>
+<span class="sourceLineNo">047</span>     * Never quotes fields. When the 
delimiter occurs in data, the printer prefixes it with the current escape<a 
name="line.47"></a>
+<span class="sourceLineNo">048</span>     * character. If the escape character 
is not set, format validation throws an exception.<a name="line.48"></a>
+<span class="sourceLineNo">049</span>     */<a name="line.49"></a>
+<span class="sourceLineNo">050</span>    NONE<a name="line.50"></a>
+<span class="sourceLineNo">051</span>}<a name="line.51"></a>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</pre>
+</div>
+</body>
+</html>

Added: 
websites/production/commons/content/proper/commons-csv/archives/1.5/apidocs/stylesheet.css
==============================================================================
--- 
websites/production/commons/content/proper/commons-csv/archives/1.5/apidocs/stylesheet.css
 (added)
+++ 
websites/production/commons/content/proper/commons-csv/archives/1.5/apidocs/stylesheet.css
 Mon Jan 29 17:25:21 2018
@@ -0,0 +1,474 @@
+/* Javadoc style sheet */
+/*
+Overall document style
+*/
+body {
+    background-color:#ffffff;
+    color:#353833;
+    font-family:Arial, Helvetica, sans-serif;
+    font-size:76%;
+    margin:0;
+}
+a:link, a:visited {
+    text-decoration:none;
+    color:#4c6b87;
+}
+a:hover, a:focus {
+    text-decoration:none;
+    color:#bb7a2a;
+}
+a:active {
+    text-decoration:none;
+    color:#4c6b87;
+}
+a[name] {
+    color:#353833;
+}
+a[name]:hover {
+    text-decoration:none;
+    color:#353833;
+}
+pre {
+    font-size:1.3em;
+}
+h1 {
+    font-size:1.8em;
+}
+h2 {
+    font-size:1.5em;
+}
+h3 {
+    font-size:1.4em;
+}
+h4 {
+    font-size:1.3em;
+}
+h5 {
+    font-size:1.2em;
+}
+h6 {
+    font-size:1.1em;
+}
+ul {
+    list-style-type:disc;
+}
+code, tt {
+    font-size:1.2em;
+}
+dt code {
+    font-size:1.2em;
+}
+table tr td dt code {
+    font-size:1.2em;
+    vertical-align:top;
+}
+sup {
+    font-size:.6em;
+}
+/*
+Document title and Copyright styles
+*/
+.clear {
+    clear:both;
+    height:0px;
+    overflow:hidden;
+}
+.aboutLanguage {
+    float:right;
+    padding:0px 21px;
+    font-size:.8em;
+    z-index:200;
+    margin-top:-7px;
+}
+.legalCopy {
+    margin-left:.5em;
+}
+.bar a, .bar a:link, .bar a:visited, .bar a:active {
+    color:#FFFFFF;
+    text-decoration:none;
+}
+.bar a:hover, .bar a:focus {
+    color:#bb7a2a;
+}
+.tab {
+    background-color:#0066FF;
+    background-image:url(resources/titlebar.gif);
+    background-position:left top;
+    background-repeat:no-repeat;
+    color:#ffffff;
+    padding:8px;
+    width:5em;
+    font-weight:bold;
+}
+/*
+Navigation bar styles
+*/
+.bar {
+    background-image:url(resources/background.gif);
+    background-repeat:repeat-x;
+    color:#FFFFFF;
+    padding:.8em .5em .4em .8em;
+    height:auto;/*height:1.8em;*/
+    font-size:1em;
+    margin:0;
+}
+.topNav {
+    background-image:url(resources/background.gif);
+    background-repeat:repeat-x;
+    color:#FFFFFF;
+    float:left;
+    padding:0;
+    width:100%;
+    clear:right;
+    height:2.8em;
+    padding-top:10px;
+    overflow:hidden;
+}
+.bottomNav {
+    margin-top:10px;
+    background-image:url(resources/background.gif);
+    background-repeat:repeat-x;
+    color:#FFFFFF;
+    float:left;
+    padding:0;
+    width:100%;
+    clear:right;
+    height:2.8em;
+    padding-top:10px;
+    overflow:hidden;
+}
+.subNav {
+    background-color:#dee3e9;
+    border-bottom:1px solid #9eadc0;
+    float:left;
+    width:100%;
+    overflow:hidden;
+}
+.subNav div {
+    clear:left;
+    float:left;
+    padding:0 0 5px 6px;
+}
+ul.navList, ul.subNavList {
+    float:left;
+    margin:0 25px 0 0;
+    padding:0;
+}
+ul.navList li{
+    list-style:none;
+    float:left;
+    padding:3px 6px;
+}
+ul.subNavList li{
+    list-style:none;
+    float:left;
+    font-size:90%;
+}
+.topNav a:link, .topNav a:active, .topNav a:visited, .bottomNav a:link, 
.bottomNav a:active, .bottomNav a:visited {
+    color:#FFFFFF;
+    text-decoration:none;
+}
+.topNav a:hover, .bottomNav a:hover {
+    text-decoration:none;
+    color:#bb7a2a;
+}
+.navBarCell1Rev {
+    background-image:url(resources/tab.gif);
+    background-color:#a88834;
+    color:#FFFFFF;
+    margin: auto 5px;
+    border:1px solid #c9aa44;
+}
+/*
+Page header and footer styles
+*/
+.header, .footer {
+    clear:both;
+    margin:0 20px;
+    padding:5px 0 0 0;
+}
+.indexHeader {
+    margin:10px;
+    position:relative;
+}
+.indexHeader h1 {
+    font-size:1.3em;
+}
+.title {
+    color:#2c4557;
+    margin:10px 0;
+}
+.subTitle {
+    margin:5px 0 0 0;
+}
+.header ul {
+    margin:0 0 25px 0;
+    padding:0;
+}
+.footer ul {
+    margin:20px 0 5px 0;
+}
+.header ul li, .footer ul li {
+    list-style:none;
+    font-size:1.2em;
+}
+/*
+Heading styles
+*/
+div.details ul.blockList ul.blockList ul.blockList li.blockList h4, 
div.details ul.blockList ul.blockList ul.blockListLast li.blockList h4 {
+    background-color:#dee3e9;
+    border-top:1px solid #9eadc0;
+    border-bottom:1px solid #9eadc0;
+    margin:0 0 6px -8px;
+    padding:2px 5px;
+}
+ul.blockList ul.blockList ul.blockList li.blockList h3 {
+    background-color:#dee3e9;
+    border-top:1px solid #9eadc0;
+    border-bottom:1px solid #9eadc0;
+    margin:0 0 6px -8px;
+    padding:2px 5px;
+}
+ul.blockList ul.blockList li.blockList h3 {
+    padding:0;
+    margin:15px 0;
+}
+ul.blockList li.blockList h2 {
+    padding:0px 0 20px 0;
+}
+/*
+Page layout container styles
+*/
+.contentContainer, .sourceContainer, .classUseContainer, 
.serializedFormContainer, .constantValuesContainer {
+    clear:both;
+    padding:10px 20px;
+    position:relative;
+}
+.indexContainer {
+    margin:10px;
+    position:relative;
+    font-size:1.0em;
+}
+.indexContainer h2 {
+    font-size:1.1em;
+    padding:0 0 3px 0;
+}
+.indexContainer ul {
+    margin:0;
+    padding:0;
+}
+.indexContainer ul li {
+    list-style:none;
+}
+.contentContainer .description dl dt, .contentContainer .details dl dt, 
.serializedFormContainer dl dt {
+    font-size:1.1em;
+    font-weight:bold;
+    margin:10px 0 0 0;
+    color:#4E4E4E;
+}
+.contentContainer .description dl dd, .contentContainer .details dl dd, 
.serializedFormContainer dl dd {
+    margin:10px 0 10px 20px;
+}
+.serializedFormContainer dl.nameValue dt {
+    margin-left:1px;
+    font-size:1.1em;
+    display:inline;
+    font-weight:bold;
+}
+.serializedFormContainer dl.nameValue dd {
+    margin:0 0 0 1px;
+    font-size:1.1em;
+    display:inline;
+}
+/*
+List styles
+*/
+ul.horizontal li {
+    display:inline;
+    font-size:0.9em;
+}
+ul.inheritance {
+    margin:0;
+    padding:0;
+}
+ul.inheritance li {
+    display:inline;
+    list-style:none;
+}
+ul.inheritance li ul.inheritance {
+    margin-left:15px;
+    padding-left:15px;
+    padding-top:1px;
+}
+ul.blockList, ul.blockListLast {
+    margin:10px 0 10px 0;
+    padding:0;
+}
+ul.blockList li.blockList, ul.blockListLast li.blockList {
+    list-style:none;
+    margin-bottom:25px;
+}
+ul.blockList ul.blockList li.blockList, ul.blockList ul.blockListLast 
li.blockList {
+    padding:0px 20px 5px 10px;
+    border:1px solid #9eadc0;
+    background-color:#f9f9f9;
+}
+ul.blockList ul.blockList ul.blockList li.blockList, ul.blockList ul.blockList 
ul.blockListLast li.blockList {
+    padding:0 0 5px 8px;
+    background-color:#ffffff;
+    border:1px solid #9eadc0;
+    border-top:none;
+}
+ul.blockList ul.blockList ul.blockList ul.blockList li.blockList {
+    margin-left:0;
+    padding-left:0;
+    padding-bottom:15px;
+    border:none;
+    border-bottom:1px solid #9eadc0;
+}
+ul.blockList ul.blockList ul.blockList ul.blockList li.blockListLast {
+    list-style:none;
+    border-bottom:none;
+    padding-bottom:0;
+}
+table tr td dl, table tr td dl dt, table tr td dl dd {
+    margin-top:0;
+    margin-bottom:1px;
+}
+/*
+Table styles
+*/
+.contentContainer table, .classUseContainer table, .constantValuesContainer 
table {
+    border-bottom:1px solid #9eadc0;
+    width:100%;
+}
+.contentContainer ul li table, .classUseContainer ul li table, 
.constantValuesContainer ul li table {
+    width:100%;
+}
+.contentContainer .description table, .contentContainer .details table {
+    border-bottom:none;
+}
+.contentContainer ul li table th.colOne, .contentContainer ul li table 
th.colFirst, .contentContainer ul li table th.colLast, .classUseContainer ul li 
table th, .constantValuesContainer ul li table th, .contentContainer ul li 
table td.colOne, .contentContainer ul li table td.colFirst, .contentContainer 
ul li table td.colLast, .classUseContainer ul li table td, 
.constantValuesContainer ul li table td{
+    vertical-align:top;
+    padding-right:20px;
+}
+.contentContainer ul li table th.colLast, .classUseContainer ul li table 
th.colLast,.constantValuesContainer ul li table th.colLast,
+.contentContainer ul li table td.colLast, .classUseContainer ul li table 
td.colLast,.constantValuesContainer ul li table td.colLast,
+.contentContainer ul li table th.colOne, .classUseContainer ul li table 
th.colOne,
+.contentContainer ul li table td.colOne, .classUseContainer ul li table 
td.colOne {
+    padding-right:3px;
+}
+.overviewSummary caption, .packageSummary caption, .contentContainer 
ul.blockList li.blockList caption, .summary caption, .classUseContainer 
caption, .constantValuesContainer caption {
+    position:relative;
+    text-align:left;
+    background-repeat:no-repeat;
+    color:#FFFFFF;
+    font-weight:bold;
+    clear:none;
+    overflow:hidden;
+    padding:0px;
+    margin:0px;
+}
+caption a:link, caption a:hover, caption a:active, caption a:visited {
+    color:#FFFFFF;
+}
+.overviewSummary caption span, .packageSummary caption span, .contentContainer 
ul.blockList li.blockList caption span, .summary caption span, 
.classUseContainer caption span, .constantValuesContainer caption span {
+    white-space:nowrap;
+    padding-top:8px;
+    padding-left:8px;
+    display:block;
+    float:left;
+    background-image:url(resources/titlebar.gif);
+    height:18px;
+}
+.overviewSummary .tabEnd, .packageSummary .tabEnd, .contentContainer 
ul.blockList li.blockList .tabEnd, .summary .tabEnd, .classUseContainer 
.tabEnd, .constantValuesContainer .tabEnd {
+    width:10px;
+    background-image:url(resources/titlebar_end.gif);
+    background-repeat:no-repeat;
+    background-position:top right;
+    position:relative;
+    float:left;
+}
+ul.blockList ul.blockList li.blockList table {
+    margin:0 0 12px 0px;
+    width:100%;
+}
+.tableSubHeadingColor {
+    background-color: #EEEEFF;
+}
+.altColor {
+    background-color:#eeeeef;
+}
+.rowColor {
+    background-color:#ffffff;
+}
+.overviewSummary td, .packageSummary td, .contentContainer ul.blockList 
li.blockList td, .summary td, .classUseContainer td, .constantValuesContainer 
td {
+    text-align:left;
+    padding:3px 3px 3px 7px;
+}
+th.colFirst, th.colLast, th.colOne, .constantValuesContainer th {
+    background:#dee3e9;
+    border-top:1px solid #9eadc0;
+    border-bottom:1px solid #9eadc0;
+    text-align:left;
+    padding:3px 3px 3px 7px;
+}
+td.colOne a:link, td.colOne a:active, td.colOne a:visited, td.colOne a:hover, 
td.colFirst a:link, td.colFirst a:active, td.colFirst a:visited, td.colFirst 
a:hover, td.colLast a:link, td.colLast a:active, td.colLast a:visited, 
td.colLast a:hover, .constantValuesContainer td a:link, 
.constantValuesContainer td a:active, .constantValuesContainer td a:visited, 
.constantValuesContainer td a:hover {
+    font-weight:bold;
+}
+td.colFirst, th.colFirst {
+    border-left:1px solid #9eadc0;
+    white-space:nowrap;
+}
+td.colLast, th.colLast {
+    border-right:1px solid #9eadc0;
+}
+td.colOne, th.colOne {
+    border-right:1px solid #9eadc0;
+    border-left:1px solid #9eadc0;
+}
+table.overviewSummary  {
+    padding:0px;
+    margin-left:0px;
+}
+table.overviewSummary td.colFirst, table.overviewSummary th.colFirst,
+table.overviewSummary td.colOne, table.overviewSummary th.colOne {
+    width:25%;
+    vertical-align:middle;
+}
+table.packageSummary td.colFirst, table.overviewSummary th.colFirst {
+    width:25%;
+    vertical-align:middle;
+}
+/*
+Content styles
+*/
+.description pre {
+    margin-top:0;
+}
+.deprecatedContent {
+    margin:0;
+    padding:10px 0;
+}
+.docSummary {
+    padding:0;
+}
+/*
+Formatting effect styles
+*/
+.sourceLineNo {
+    color:green;
+    padding:0 30px 0 0;
+}
+h1.hidden {
+    visibility:hidden;
+    overflow:hidden;
+    font-size:.9em;
+}
+.block {
+    display:block;
+    margin:3px 0 0 0;
+}
+.strong {
+    font-weight:bold;
+}


Reply via email to