You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@commons.apache.org by ch...@apache.org on 2019/01/16 11:35:55 UTC
svn commit: r1039076 [31/46] - in
/websites/production/commons/content/proper/commons-fileupload: ./ apidocs/
apidocs/org/apache/commons/fileupload/
apidocs/org/apache/commons/fileupload/class-use/
apidocs/org/apache/commons/fileupload/disk/ apidocs/or...
Modified: websites/production/commons/content/proper/commons-fileupload/cobertura/org.apache.commons.fileupload.disk.DiskFileItem.html
==============================================================================
--- websites/production/commons/content/proper/commons-fileupload/cobertura/org.apache.commons.fileupload.disk.DiskFileItem.html (original)
+++ websites/production/commons/content/proper/commons-fileupload/cobertura/org.apache.commons.fileupload.disk.DiskFileItem.html Wed Jan 16 11:35:52 2019
@@ -12,7 +12,7 @@
<div class="separator"> </div>
<table class="report">
<thead><tr> <td class="heading">Classes in this File</td> <td class="heading"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">Line Coverage</a></td> <td class="heading"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">Branch Coverage</a></td> <td class="heading"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">Complexity</a></td></tr></thead>
- <tr><td><a href="org.apache.commons.fileupload.disk.DiskFileItem.html">DiskFileItem</a></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">69%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:69px"><span class="text">78/112</span></div></div></td></tr></table></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">60%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:60px"><span class="text">28/46</span></div></div></td></tr></table></td><td class="value"><span class="hidden">2.5;</span>2,5</td></tr>
+ <tr><td><a href="org.apache.commons.fileupload.disk.DiskFileItem.html">DiskFileItem</a></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">69%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:69px"><span class="text">81/116</span></div></div></td></tr></table></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">60%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:60px"><span class="text">30/50</span></div></div></td></tr></table></td><td class="value"><span class="hidden">2.4615384615384617;</span>2.462</td></tr>
</table>
<div class="separator"> </div>
@@ -257,7 +257,7 @@
<td class="src"><pre class="src"> <span class="comment"> * file item is moved from its original location.</span></pre></td></tr>
<tr> <td class="numLine"> 121</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
-<tr> <td class="numLineCover"> 122</td> <td class="nbHitsCovered"> 2173</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">long</span> size = -1;</pre></td></tr>
+<tr> <td class="numLineCover"> 122</td> <td class="nbHitsCovered"> 2174</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">long</span> size = -1;</pre></td></tr>
<tr> <td class="numLine"> 123</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 124</td> <td class="nbHits"> </td>
@@ -323,798 +323,874 @@
<tr> <td class="numLine"> 154</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 155</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="comment">// ----------------------------------------------------------- Constructors</span></pre></td></tr>
+ <td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine"> 156</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> </pre></td></tr>
+ <td class="src"><pre class="src"> <span class="comment"> * Default content charset to be used when no explicit charset</span></pre></td></tr>
<tr> <td class="numLine"> 157</td> <td class="nbHits"> </td>
- <td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr>
+ <td class="src"><pre class="src"> <span class="comment"> * parameter is provided by the sender.</span></pre></td></tr>
<tr> <td class="numLine"> 158</td> <td class="nbHits"> </td>
+ <td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
+<tr> <td class="numLineCover"> 159</td> <td class="nbHitsCovered"> 2174</td> <td class="src"><pre class="src"> <span class="keyword">private</span> String defaultCharset = DEFAULT_CHARSET;</pre></td></tr>
+<tr> <td class="numLine"> 160</td> <td class="nbHits"> </td>
+ <td class="src"><pre class="src"> </pre></td></tr>
+<tr> <td class="numLine"> 161</td> <td class="nbHits"> </td>
+ <td class="src"><pre class="src"> <span class="comment">// ----------------------------------------------------------- Constructors</span></pre></td></tr>
+<tr> <td class="numLine"> 162</td> <td class="nbHits"> </td>
+ <td class="src"><pre class="src"> </pre></td></tr>
+<tr> <td class="numLine"> 163</td> <td class="nbHits"> </td>
+ <td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr>
+<tr> <td class="numLine"> 164</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * Constructs a new <code>DiskFileItem</code> instance.</span></pre></td></tr>
-<tr> <td class="numLine"> 159</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 165</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr>
-<tr> <td class="numLine"> 160</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 166</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * @param fieldName The name of the form field.</span></pre></td></tr>
-<tr> <td class="numLine"> 161</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 167</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * @param contentType The content type passed by the browser or</span></pre></td></tr>
-<tr> <td class="numLine"> 162</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 168</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * <code>null</code> if not specified.</span></pre></td></tr>
-<tr> <td class="numLine"> 163</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 169</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * @param isFormField Whether or not this item is a plain form field, as</span></pre></td></tr>
-<tr> <td class="numLine"> 164</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 170</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * opposed to a file upload.</span></pre></td></tr>
-<tr> <td class="numLine"> 165</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 171</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * @param fileName The original filename in the user's filesystem, or</span></pre></td></tr>
-<tr> <td class="numLine"> 166</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 172</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * <code>null</code> if not specified.</span></pre></td></tr>
-<tr> <td class="numLine"> 167</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 173</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * @param sizeThreshold The threshold, in bytes, below which items will be</span></pre></td></tr>
-<tr> <td class="numLine"> 168</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 174</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * retained in memory and above which they will be</span></pre></td></tr>
-<tr> <td class="numLine"> 169</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 175</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * stored as a file.</span></pre></td></tr>
-<tr> <td class="numLine"> 170</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 176</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * @param repository The data repository, which is the directory in</span></pre></td></tr>
-<tr> <td class="numLine"> 171</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 177</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * which files will be created, should the item size</span></pre></td></tr>
-<tr> <td class="numLine"> 172</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 178</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * exceed the threshold.</span></pre></td></tr>
-<tr> <td class="numLine"> 173</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 179</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
-<tr> <td class="numLine"> 174</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 180</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">public</span> DiskFileItem(String fieldName,</pre></td></tr>
-<tr> <td class="numLine"> 175</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 181</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> String contentType, <span class="keyword">boolean</span> isFormField, String fileName,</pre></td></tr>
-<tr> <td class="numLineCover"> 176</td> <td class="nbHitsCovered"> 2173</td> <td class="src"><pre class="src"> <span class="keyword">int</span> sizeThreshold, File repository) {</pre></td></tr>
-<tr> <td class="numLineCover"> 177</td> <td class="nbHitsCovered"> 2173</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.fieldName = fieldName;</pre></td></tr>
-<tr> <td class="numLineCover"> 178</td> <td class="nbHitsCovered"> 2173</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.contentType = contentType;</pre></td></tr>
-<tr> <td class="numLineCover"> 179</td> <td class="nbHitsCovered"> 2173</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.isFormField = isFormField;</pre></td></tr>
-<tr> <td class="numLineCover"> 180</td> <td class="nbHitsCovered"> 2173</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.fileName = fileName;</pre></td></tr>
-<tr> <td class="numLineCover"> 181</td> <td class="nbHitsCovered"> 2173</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.sizeThreshold = sizeThreshold;</pre></td></tr>
-<tr> <td class="numLineCover"> 182</td> <td class="nbHitsCovered"> 2173</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.repository = repository;</pre></td></tr>
-<tr> <td class="numLineCover"> 183</td> <td class="nbHitsCovered"> 2173</td> <td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLine"> 184</td> <td class="nbHits"> </td>
+<tr> <td class="numLineCover"> 182</td> <td class="nbHitsCovered"> 2174</td> <td class="src"><pre class="src"> <span class="keyword">int</span> sizeThreshold, File repository) {</pre></td></tr>
+<tr> <td class="numLineCover"> 183</td> <td class="nbHitsCovered"> 2174</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.fieldName = fieldName;</pre></td></tr>
+<tr> <td class="numLineCover"> 184</td> <td class="nbHitsCovered"> 2174</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.contentType = contentType;</pre></td></tr>
+<tr> <td class="numLineCover"> 185</td> <td class="nbHitsCovered"> 2174</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.isFormField = isFormField;</pre></td></tr>
+<tr> <td class="numLineCover"> 186</td> <td class="nbHitsCovered"> 2174</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.fileName = fileName;</pre></td></tr>
+<tr> <td class="numLineCover"> 187</td> <td class="nbHitsCovered"> 2174</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.sizeThreshold = sizeThreshold;</pre></td></tr>
+<tr> <td class="numLineCover"> 188</td> <td class="nbHitsCovered"> 2174</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.repository = repository;</pre></td></tr>
+<tr> <td class="numLineCover"> 189</td> <td class="nbHitsCovered"> 2174</td> <td class="src"><pre class="src"> }</pre></td></tr>
+<tr> <td class="numLine"> 190</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLine"> 185</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 191</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">// ------------------------------- Methods from javax.activation.DataSource</span></pre></td></tr>
-<tr> <td class="numLine"> 186</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 192</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLine"> 187</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 193</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr>
-<tr> <td class="numLine"> 188</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 194</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * Returns an {@link java.io.InputStream InputStream} that can be</span></pre></td></tr>
-<tr> <td class="numLine"> 189</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 195</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * used to retrieve the contents of the file.</span></pre></td></tr>
-<tr> <td class="numLine"> 190</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 196</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr>
-<tr> <td class="numLine"> 191</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 197</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * @return An {@link java.io.InputStream InputStream} that can be</span></pre></td></tr>
-<tr> <td class="numLine"> 192</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 198</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * used to retrieve the contents of the file.</span></pre></td></tr>
-<tr> <td class="numLine"> 193</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 199</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr>
-<tr> <td class="numLine"> 194</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 200</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * @throws IOException if an error occurs.</span></pre></td></tr>
-<tr> <td class="numLine"> 195</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 201</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
-<tr> <td class="numLine"> 196</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 202</td> <td class="nbHits"> </td>
+ <td class="src"><pre class="src"> @Override</pre></td></tr>
+<tr> <td class="numLine"> 203</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">public</span> InputStream getInputStream()</pre></td></tr>
-<tr> <td class="numLine"> 197</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 204</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">throws</span> IOException {</pre></td></tr>
-<tr> <td class="numLineCover"> 198</td> <td class="nbHitsUncovered"><a title="Line 198: Conditional coverage 0% (0/2)."> 0</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 198: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (!isInMemory()) {</a></span></pre></td></tr>
-<tr> <td class="numLineCover"> 199</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">return</span> <span class="keyword">new</span> FileInputStream(dfos.getFile());</span></pre></td></tr>
-<tr> <td class="numLine"> 200</td> <td class="nbHits"> </td>
+<tr> <td class="numLineCover"> 205</td> <td class="nbHitsUncovered"><a title="Line 205: Conditional coverage 0% (0/2)."> 0</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 205: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (!isInMemory()) {</a></span></pre></td></tr>
+<tr> <td class="numLineCover"> 206</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">return</span> <span class="keyword">new</span> FileInputStream(dfos.getFile());</span></pre></td></tr>
+<tr> <td class="numLine"> 207</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLine"> 201</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 208</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 202</td> <td class="nbHitsUncovered"><a title="Line 202: Conditional coverage 0% (0/2)."> 0</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 202: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (cachedContent == <span class="keyword">null</span>) {</a></span></pre></td></tr>
-<tr> <td class="numLineCover"> 203</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> cachedContent = dfos.getData();</span></pre></td></tr>
-<tr> <td class="numLine"> 204</td> <td class="nbHits"> </td>
+<tr> <td class="numLineCover"> 209</td> <td class="nbHitsUncovered"><a title="Line 209: Conditional coverage 0% (0/2)."> 0</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 209: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (cachedContent == <span class="keyword">null</span>) {</a></span></pre></td></tr>
+<tr> <td class="numLineCover"> 210</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> cachedContent = dfos.getData();</span></pre></td></tr>
+<tr> <td class="numLine"> 211</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 205</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">return</span> <span class="keyword">new</span> ByteArrayInputStream(cachedContent);</span></pre></td></tr>
-<tr> <td class="numLine"> 206</td> <td class="nbHits"> </td>
+<tr> <td class="numLineCover"> 212</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">return</span> <span class="keyword">new</span> ByteArrayInputStream(cachedContent);</span></pre></td></tr>
+<tr> <td class="numLine"> 213</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLine"> 207</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 214</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLine"> 208</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 215</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr>
-<tr> <td class="numLine"> 209</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 216</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * Returns the content type passed by the agent or <code>null</code> if</span></pre></td></tr>
-<tr> <td class="numLine"> 210</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 217</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * not defined.</span></pre></td></tr>
-<tr> <td class="numLine"> 211</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 218</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr>
-<tr> <td class="numLine"> 212</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 219</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * @return The content type passed by the agent or <code>null</code> if</span></pre></td></tr>
-<tr> <td class="numLine"> 213</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 220</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * not defined.</span></pre></td></tr>
-<tr> <td class="numLine"> 214</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 221</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
-<tr> <td class="numLine"> 215</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 222</td> <td class="nbHits"> </td>
+ <td class="src"><pre class="src"> @Override</pre></td></tr>
+<tr> <td class="numLine"> 223</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">public</span> String getContentType() {</pre></td></tr>
-<tr> <td class="numLineCover"> 216</td> <td class="nbHitsCovered"> 41</td> <td class="src"><pre class="src"> <span class="keyword">return</span> contentType;</pre></td></tr>
-<tr> <td class="numLine"> 217</td> <td class="nbHits"> </td>
+<tr> <td class="numLineCover"> 224</td> <td class="nbHitsCovered"> 43</td> <td class="src"><pre class="src"> <span class="keyword">return</span> contentType;</pre></td></tr>
+<tr> <td class="numLine"> 225</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLine"> 218</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 226</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLine"> 219</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 227</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr>
-<tr> <td class="numLine"> 220</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 228</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * Returns the content charset passed by the agent or <code>null</code> if</span></pre></td></tr>
-<tr> <td class="numLine"> 221</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 229</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * not defined.</span></pre></td></tr>
-<tr> <td class="numLine"> 222</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 230</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr>
-<tr> <td class="numLine"> 223</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 231</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * @return The content charset passed by the agent or <code>null</code> if</span></pre></td></tr>
-<tr> <td class="numLine"> 224</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 232</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * not defined.</span></pre></td></tr>
-<tr> <td class="numLine"> 225</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 233</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
-<tr> <td class="numLine"> 226</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 234</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">public</span> String getCharSet() {</pre></td></tr>
-<tr> <td class="numLineCover"> 227</td> <td class="nbHitsCovered"> 33</td> <td class="src"><pre class="src"> ParameterParser parser = <span class="keyword">new</span> ParameterParser();</pre></td></tr>
-<tr> <td class="numLineCover"> 228</td> <td class="nbHitsCovered"> 33</td> <td class="src"><pre class="src"> parser.setLowerCaseNames(<span class="keyword">true</span>);</pre></td></tr>
-<tr> <td class="numLine"> 229</td> <td class="nbHits"> </td>
+<tr> <td class="numLineCover"> 235</td> <td class="nbHitsCovered"> 35</td> <td class="src"><pre class="src"> ParameterParser parser = <span class="keyword">new</span> ParameterParser();</pre></td></tr>
+<tr> <td class="numLineCover"> 236</td> <td class="nbHitsCovered"> 35</td> <td class="src"><pre class="src"> parser.setLowerCaseNames(<span class="keyword">true</span>);</pre></td></tr>
+<tr> <td class="numLine"> 237</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">// Parameter parser can handle null input</span></pre></td></tr>
-<tr> <td class="numLineCover"> 230</td> <td class="nbHitsCovered"> 33</td> <td class="src"><pre class="src"> Map<String, String> params = parser.parse(getContentType(), <span class="string">';'</span>);</pre></td></tr>
-<tr> <td class="numLineCover"> 231</td> <td class="nbHitsCovered"> 33</td> <td class="src"><pre class="src"> <span class="keyword">return</span> params.get(<span class="string">"charset"</span>);</pre></td></tr>
-<tr> <td class="numLine"> 232</td> <td class="nbHits"> </td>
+<tr> <td class="numLineCover"> 238</td> <td class="nbHitsCovered"> 35</td> <td class="src"><pre class="src"> Map<String, String> params = parser.parse(getContentType(), <span class="string">';'</span>);</pre></td></tr>
+<tr> <td class="numLineCover"> 239</td> <td class="nbHitsCovered"> 35</td> <td class="src"><pre class="src"> <span class="keyword">return</span> params.get(<span class="string">"charset"</span>);</pre></td></tr>
+<tr> <td class="numLine"> 240</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLine"> 233</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 241</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLine"> 234</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 242</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr>
-<tr> <td class="numLine"> 235</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 243</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * Returns the original filename in the client's filesystem.</span></pre></td></tr>
-<tr> <td class="numLine"> 236</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 244</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr>
-<tr> <td class="numLine"> 237</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 245</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * @return The original filename in the client's filesystem.</span></pre></td></tr>
-<tr> <td class="numLine"> 238</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 246</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * @throws org.apache.commons.fileupload.InvalidFileNameException The file name contains a NUL character,</span></pre></td></tr>
-<tr> <td class="numLine"> 239</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 247</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * which might be an indicator of a security attack. If you intend to</span></pre></td></tr>
-<tr> <td class="numLine"> 240</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 248</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * use the file name anyways, catch the exception and use</span></pre></td></tr>
-<tr> <td class="numLine"> 241</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 249</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * {@link org.apache.commons.fileupload.InvalidFileNameException#getName()}.</span></pre></td></tr>
-<tr> <td class="numLine"> 242</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 250</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
-<tr> <td class="numLine"> 243</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 251</td> <td class="nbHits"> </td>
+ <td class="src"><pre class="src"> @Override</pre></td></tr>
+<tr> <td class="numLine"> 252</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">public</span> String getName() {</pre></td></tr>
-<tr> <td class="numLineCover"> 244</td> <td class="nbHitsCovered"> 19</td> <td class="src"><pre class="src"> <span class="keyword">return</span> Streams.checkFileName(fileName);</pre></td></tr>
-<tr> <td class="numLine"> 245</td> <td class="nbHits"> </td>
+<tr> <td class="numLineCover"> 253</td> <td class="nbHitsCovered"> 19</td> <td class="src"><pre class="src"> <span class="keyword">return</span> Streams.checkFileName(fileName);</pre></td></tr>
+<tr> <td class="numLine"> 254</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLine"> 246</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 255</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLine"> 247</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 256</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">// ------------------------------------------------------- FileItem methods</span></pre></td></tr>
-<tr> <td class="numLine"> 248</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 257</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLine"> 249</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 258</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr>
-<tr> <td class="numLine"> 250</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 259</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * Provides a hint as to whether or not the file contents will be read</span></pre></td></tr>
-<tr> <td class="numLine"> 251</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 260</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * from memory.</span></pre></td></tr>
-<tr> <td class="numLine"> 252</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 261</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr>
-<tr> <td class="numLine"> 253</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 262</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * @return <code>true</code> if the file contents will be read</span></pre></td></tr>
-<tr> <td class="numLine"> 254</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 263</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * from memory; <code>false</code> otherwise.</span></pre></td></tr>
-<tr> <td class="numLine"> 255</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 264</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
-<tr> <td class="numLine"> 256</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 265</td> <td class="nbHits"> </td>
+ <td class="src"><pre class="src"> @Override</pre></td></tr>
+<tr> <td class="numLine"> 266</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">boolean</span> isInMemory() {</pre></td></tr>
-<tr> <td class="numLineCover"> 257</td> <td class="nbHitsCovered"><a title="Line 257: Conditional coverage 100% (2/2)."> 2165</a></td> <td class="src"><pre class="src"> <a title="Line 257: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (cachedContent != <span class="keyword">null</span>) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 258</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">return</span> <span class="keyword">true</span>;</pre></td></tr>
-<tr> <td class="numLine"> 259</td> <td class="nbHits"> </td>
+<tr> <td class="numLineCover"> 267</td> <td class="nbHitsCovered"><a title="Line 267: Conditional coverage 100% (2/2)."> 2432</a></td> <td class="src"><pre class="src"> <a title="Line 267: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (cachedContent != <span class="keyword">null</span>) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 268</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">return</span> <span class="keyword">true</span>;</pre></td></tr>
+<tr> <td class="numLine"> 269</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 260</td> <td class="nbHitsCovered"> 2164</td> <td class="src"><pre class="src"> <span class="keyword">return</span> dfos.isInMemory();</pre></td></tr>
-<tr> <td class="numLine"> 261</td> <td class="nbHits"> </td>
+<tr> <td class="numLineCover"> 270</td> <td class="nbHitsCovered"> 2430</td> <td class="src"><pre class="src"> <span class="keyword">return</span> dfos.isInMemory();</pre></td></tr>
+<tr> <td class="numLine"> 271</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLine"> 262</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 272</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLine"> 263</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 273</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr>
-<tr> <td class="numLine"> 264</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 274</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * Returns the size of the file.</span></pre></td></tr>
-<tr> <td class="numLine"> 265</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 275</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr>
-<tr> <td class="numLine"> 266</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 276</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * @return The size of the file, in bytes.</span></pre></td></tr>
-<tr> <td class="numLine"> 267</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 277</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
-<tr> <td class="numLine"> 268</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 278</td> <td class="nbHits"> </td>
+ <td class="src"><pre class="src"> @Override</pre></td></tr>
+<tr> <td class="numLine"> 279</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">long</span> getSize() {</pre></td></tr>
-<tr> <td class="numLineCover"> 269</td> <td class="nbHitsUncovered"><a title="Line 269: Conditional coverage 50% (1/2)."> 536</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 269: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (size >= 0) {</a></span></pre></td></tr>
-<tr> <td class="numLineCover"> 270</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">return</span> size;</span></pre></td></tr>
-<tr> <td class="numLineCover"> 271</td> <td class="nbHitsUncovered"><a title="Line 271: Conditional coverage 50% (1/2)."> 536</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 271: Conditional coverage 50% (1/2)."> } <span class="keyword">else</span> <span class="keyword">if</span> (cachedContent != <span class="keyword">null</span>) {</a></span></pre></td></tr>
-<tr> <td class="numLineCover"> 272</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">return</span> cachedContent.length;</span></pre></td></tr>
-<tr> <td class="numLineCover"> 273</td> <td class="nbHitsCovered"><a title="Line 273: Conditional coverage 100% (2/2)."> 536</a></td> <td class="src"><pre class="src"> <a title="Line 273: Conditional coverage 100% (2/2)."> } <span class="keyword">else</span> <span class="keyword">if</span> (dfos.isInMemory()) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 274</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> <span class="keyword">return</span> dfos.getData().length;</pre></td></tr>
-<tr> <td class="numLine"> 275</td> <td class="nbHits"> </td>
+<tr> <td class="numLineCover"> 280</td> <td class="nbHitsUncovered"><a title="Line 280: Conditional coverage 50% (1/2)."> 536</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 280: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (size >= 0) {</a></span></pre></td></tr>
+<tr> <td class="numLineCover"> 281</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">return</span> size;</span></pre></td></tr>
+<tr> <td class="numLineCover"> 282</td> <td class="nbHitsUncovered"><a title="Line 282: Conditional coverage 50% (1/2)."> 536</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 282: Conditional coverage 50% (1/2)."> } <span class="keyword">else</span> <span class="keyword">if</span> (cachedContent != <span class="keyword">null</span>) {</a></span></pre></td></tr>
+<tr> <td class="numLineCover"> 283</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">return</span> cachedContent.length;</span></pre></td></tr>
+<tr> <td class="numLineCover"> 284</td> <td class="nbHitsCovered"><a title="Line 284: Conditional coverage 100% (2/2)."> 536</a></td> <td class="src"><pre class="src"> <a title="Line 284: Conditional coverage 100% (2/2)."> } <span class="keyword">else</span> <span class="keyword">if</span> (dfos.isInMemory()) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 285</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> <span class="keyword">return</span> dfos.getData().length;</pre></td></tr>
+<tr> <td class="numLine"> 286</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> } <span class="keyword">else</span> {</pre></td></tr>
-<tr> <td class="numLineCover"> 276</td> <td class="nbHitsCovered"> 532</td> <td class="src"><pre class="src"> <span class="keyword">return</span> dfos.getFile().length();</pre></td></tr>
-<tr> <td class="numLine"> 277</td> <td class="nbHits"> </td>
+<tr> <td class="numLineCover"> 287</td> <td class="nbHitsCovered"> 532</td> <td class="src"><pre class="src"> <span class="keyword">return</span> dfos.getFile().length();</pre></td></tr>
+<tr> <td class="numLine"> 288</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLine"> 278</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 289</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLine"> 279</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 290</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLine"> 280</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 291</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr>
-<tr> <td class="numLine"> 281</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 292</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * Returns the contents of the file as an array of bytes. If the</span></pre></td></tr>
-<tr> <td class="numLine"> 282</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 293</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * contents of the file were not yet cached in memory, they will be</span></pre></td></tr>
-<tr> <td class="numLine"> 283</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 294</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * loaded from the disk storage and cached.</span></pre></td></tr>
-<tr> <td class="numLine"> 284</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 295</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr>
-<tr> <td class="numLine"> 285</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 296</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * @return The contents of the file as an array of bytes</span></pre></td></tr>
-<tr> <td class="numLine"> 286</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 297</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * or {@code null} if the data cannot be read</span></pre></td></tr>
-<tr> <td class="numLine"> 287</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 298</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
-<tr> <td class="numLine"> 288</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 299</td> <td class="nbHits"> </td>
+ <td class="src"><pre class="src"> @Override</pre></td></tr>
+<tr> <td class="numLine"> 300</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">byte</span>[] get() {</pre></td></tr>
-<tr> <td class="numLineCover"> 289</td> <td class="nbHitsCovered"><a title="Line 289: Conditional coverage 100% (2/2)."> 1449</a></td> <td class="src"><pre class="src"> <a title="Line 289: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (isInMemory()) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 290</td> <td class="nbHitsUncovered"><a title="Line 290: Conditional coverage 75% (3/4) [each condition: 100%, 50%]."> 920</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 290: Conditional coverage 75% (3/4) [each condition: 100%, 50%]."> <span class="keyword">if</span> (cachedContent == <span class="keyword">null</span> && dfos != <span class="keyword">null</span>) {</a></span></pre></td></tr>
-<tr> <td class="numLineCover"> 291</td> <td class="nbHitsCovered"> 919</td> <td class="src"><pre class="src"> cachedContent = dfos.getData();</pre></td></tr>
-<tr> <td class="numLine"> 292</td> <td class="nbHits"> </td>
+<tr> <td class="numLineCover"> 301</td> <td class="nbHitsCovered"><a title="Line 301: Conditional coverage 100% (2/2)."> 1451</a></td> <td class="src"><pre class="src"> <a title="Line 301: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (isInMemory()) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 302</td> <td class="nbHitsUncovered"><a title="Line 302: Conditional coverage 75% (3/4) [each condition: 100%, 50%]."> 922</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 302: Conditional coverage 75% (3/4) [each condition: 100%, 50%]."> <span class="keyword">if</span> (cachedContent == <span class="keyword">null</span> && dfos != <span class="keyword">null</span>) {</a></span></pre></td></tr>
+<tr> <td class="numLineCover"> 303</td> <td class="nbHitsCovered"> 920</td> <td class="src"><pre class="src"> cachedContent = dfos.getData();</pre></td></tr>
+<tr> <td class="numLine"> 304</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 293</td> <td class="nbHitsCovered"> 920</td> <td class="src"><pre class="src"> <span class="keyword">return</span> cachedContent;</pre></td></tr>
-<tr> <td class="numLine"> 294</td> <td class="nbHits"> </td>
+<tr> <td class="numLineCover"> 305</td> <td class="nbHitsCovered"> 922</td> <td class="src"><pre class="src"> <span class="keyword">return</span> cachedContent;</pre></td></tr>
+<tr> <td class="numLine"> 306</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLine"> 295</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 307</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 296</td> <td class="nbHitsCovered"> 529</td> <td class="src"><pre class="src"> <span class="keyword">byte</span>[] fileData = <span class="keyword">new</span> <span class="keyword">byte</span>[(<span class="keyword">int</span>) getSize()];</pre></td></tr>
-<tr> <td class="numLineCover"> 297</td> <td class="nbHitsCovered"> 529</td> <td class="src"><pre class="src"> InputStream fis = <span class="keyword">null</span>;</pre></td></tr>
-<tr> <td class="numLine"> 298</td> <td class="nbHits"> </td>
+<tr> <td class="numLineCover"> 308</td> <td class="nbHitsCovered"> 529</td> <td class="src"><pre class="src"> <span class="keyword">byte</span>[] fileData = <span class="keyword">new</span> <span class="keyword">byte</span>[(<span class="keyword">int</span>) getSize()];</pre></td></tr>
+<tr> <td class="numLineCover"> 309</td> <td class="nbHitsCovered"> 529</td> <td class="src"><pre class="src"> InputStream fis = <span class="keyword">null</span>;</pre></td></tr>
+<tr> <td class="numLine"> 310</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLine"> 299</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 311</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">try</span> {</pre></td></tr>
-<tr> <td class="numLineCover"> 300</td> <td class="nbHitsCovered"> 529</td> <td class="src"><pre class="src"> fis = <span class="keyword">new</span> FileInputStream(dfos.getFile());</pre></td></tr>
-<tr> <td class="numLineCover"> 301</td> <td class="nbHitsCovered"> 529</td> <td class="src"><pre class="src"> IOUtils.readFully(fis, fileData);</pre></td></tr>
-<tr> <td class="numLineCover"> 302</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> } <span class="keyword">catch</span> (IOException e) {</span></pre></td></tr>
-<tr> <td class="numLineCover"> 303</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> fileData = <span class="keyword">null</span>;</span></pre></td></tr>
-<tr> <td class="numLine"> 304</td> <td class="nbHits"> </td>
+<tr> <td class="numLineCover"> 312</td> <td class="nbHitsCovered"> 529</td> <td class="src"><pre class="src"> fis = <span class="keyword">new</span> FileInputStream(dfos.getFile());</pre></td></tr>
+<tr> <td class="numLineCover"> 313</td> <td class="nbHitsCovered"> 529</td> <td class="src"><pre class="src"> IOUtils.readFully(fis, fileData);</pre></td></tr>
+<tr> <td class="numLineCover"> 314</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> } <span class="keyword">catch</span> (IOException e) {</span></pre></td></tr>
+<tr> <td class="numLineCover"> 315</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> fileData = <span class="keyword">null</span>;</span></pre></td></tr>
+<tr> <td class="numLine"> 316</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> } <span class="keyword">finally</span> {</pre></td></tr>
-<tr> <td class="numLineCover"> 305</td> <td class="nbHitsCovered"> 529</td> <td class="src"><pre class="src"> IOUtils.closeQuietly(fis);</pre></td></tr>
-<tr> <td class="numLineCover"> 306</td> <td class="nbHitsCovered"> 529</td> <td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLine"> 307</td> <td class="nbHits"> </td>
+<tr> <td class="numLineCover"> 317</td> <td class="nbHitsCovered"> 529</td> <td class="src"><pre class="src"> IOUtils.closeQuietly(fis);</pre></td></tr>
+<tr> <td class="numLineCover"> 318</td> <td class="nbHitsCovered"> 529</td> <td class="src"><pre class="src"> }</pre></td></tr>
+<tr> <td class="numLine"> 319</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 308</td> <td class="nbHitsCovered"> 529</td> <td class="src"><pre class="src"> <span class="keyword">return</span> fileData;</pre></td></tr>
-<tr> <td class="numLine"> 309</td> <td class="nbHits"> </td>
+<tr> <td class="numLineCover"> 320</td> <td class="nbHitsCovered"> 529</td> <td class="src"><pre class="src"> <span class="keyword">return</span> fileData;</pre></td></tr>
+<tr> <td class="numLine"> 321</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLine"> 310</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 322</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLine"> 311</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 323</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr>
-<tr> <td class="numLine"> 312</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 324</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * Returns the contents of the file as a String, using the specified</span></pre></td></tr>
-<tr> <td class="numLine"> 313</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 325</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * encoding. This method uses {@link #get()} to retrieve the</span></pre></td></tr>
-<tr> <td class="numLine"> 314</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 326</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * contents of the file.</span></pre></td></tr>
-<tr> <td class="numLine"> 315</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 327</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr>
-<tr> <td class="numLine"> 316</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 328</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * @param charset The charset to use.</span></pre></td></tr>
-<tr> <td class="numLine"> 317</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 329</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr>
-<tr> <td class="numLine"> 318</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 330</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * @return The contents of the file, as a string.</span></pre></td></tr>
-<tr> <td class="numLine"> 319</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 331</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr>
-<tr> <td class="numLine"> 320</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 332</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * @throws UnsupportedEncodingException if the requested character</span></pre></td></tr>
-<tr> <td class="numLine"> 321</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 333</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * encoding is not available.</span></pre></td></tr>
-<tr> <td class="numLine"> 322</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 334</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
-<tr> <td class="numLine"> 323</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 335</td> <td class="nbHits"> </td>
+ <td class="src"><pre class="src"> @Override</pre></td></tr>
+<tr> <td class="numLine"> 336</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">public</span> String getString(<span class="keyword">final</span> String charset)</pre></td></tr>
-<tr> <td class="numLine"> 324</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 337</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">throws</span> UnsupportedEncodingException {</pre></td></tr>
-<tr> <td class="numLineCover"> 325</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">return</span> <span class="keyword">new</span> String(get(), charset);</span></pre></td></tr>
-<tr> <td class="numLine"> 326</td> <td class="nbHits"> </td>
+<tr> <td class="numLineCover"> 338</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">return</span> <span class="keyword">new</span> String(get(), charset);</span></pre></td></tr>
+<tr> <td class="numLine"> 339</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLine"> 327</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 340</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLine"> 328</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 341</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr>
-<tr> <td class="numLine"> 329</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 342</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * Returns the contents of the file as a String, using the default</span></pre></td></tr>
-<tr> <td class="numLine"> 330</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 343</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * character encoding. This method uses {@link #get()} to retrieve the</span></pre></td></tr>
-<tr> <td class="numLine"> 331</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 344</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * contents of the file.</span></pre></td></tr>
-<tr> <td class="numLine"> 332</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 345</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr>
-<tr> <td class="numLine"> 333</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 346</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * <b>TODO</b> Consider making this method throw UnsupportedEncodingException.</span></pre></td></tr>
-<tr> <td class="numLine"> 334</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 347</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr>
-<tr> <td class="numLine"> 335</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 348</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * @return The contents of the file, as a string.</span></pre></td></tr>
-<tr> <td class="numLine"> 336</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 349</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
-<tr> <td class="numLine"> 337</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 350</td> <td class="nbHits"> </td>
+ <td class="src"><pre class="src"> @Override</pre></td></tr>
+<tr> <td class="numLine"> 351</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">public</span> String getString() {</pre></td></tr>
-<tr> <td class="numLineCover"> 338</td> <td class="nbHitsCovered"> 33</td> <td class="src"><pre class="src"> <span class="keyword">byte</span>[] rawdata = get();</pre></td></tr>
-<tr> <td class="numLineCover"> 339</td> <td class="nbHitsCovered"> 33</td> <td class="src"><pre class="src"> String charset = getCharSet();</pre></td></tr>
-<tr> <td class="numLineCover"> 340</td> <td class="nbHitsUncovered"><a title="Line 340: Conditional coverage 50% (1/2)."> 33</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 340: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (charset == <span class="keyword">null</span>) {</a></span></pre></td></tr>
-<tr> <td class="numLineCover"> 341</td> <td class="nbHitsCovered"> 33</td> <td class="src"><pre class="src"> charset = DEFAULT_CHARSET;</pre></td></tr>
-<tr> <td class="numLine"> 342</td> <td class="nbHits"> </td>
+<tr> <td class="numLineCover"> 352</td> <td class="nbHitsCovered"> 35</td> <td class="src"><pre class="src"> <span class="keyword">byte</span>[] rawdata = get();</pre></td></tr>
+<tr> <td class="numLineCover"> 353</td> <td class="nbHitsCovered"> 35</td> <td class="src"><pre class="src"> String charset = getCharSet();</pre></td></tr>
+<tr> <td class="numLineCover"> 354</td> <td class="nbHitsUncovered"><a title="Line 354: Conditional coverage 50% (1/2)."> 35</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 354: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (charset == <span class="keyword">null</span>) {</a></span></pre></td></tr>
+<tr> <td class="numLineCover"> 355</td> <td class="nbHitsCovered"> 35</td> <td class="src"><pre class="src"> charset = defaultCharset;</pre></td></tr>
+<tr> <td class="numLine"> 356</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLine"> 343</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 357</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">try</span> {</pre></td></tr>
-<tr> <td class="numLineCover"> 344</td> <td class="nbHitsCovered"> 33</td> <td class="src"><pre class="src"> <span class="keyword">return</span> <span class="keyword">new</span> String(rawdata, charset);</pre></td></tr>
-<tr> <td class="numLineCover"> 345</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> } <span class="keyword">catch</span> (UnsupportedEncodingException e) {</span></pre></td></tr>
-<tr> <td class="numLineCover"> 346</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">return</span> <span class="keyword">new</span> String(rawdata);</span></pre></td></tr>
-<tr> <td class="numLine"> 347</td> <td class="nbHits"> </td>
+<tr> <td class="numLineCover"> 358</td> <td class="nbHitsCovered"> 35</td> <td class="src"><pre class="src"> <span class="keyword">return</span> <span class="keyword">new</span> String(rawdata, charset);</pre></td></tr>
+<tr> <td class="numLineCover"> 359</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> } <span class="keyword">catch</span> (UnsupportedEncodingException e) {</span></pre></td></tr>
+<tr> <td class="numLineCover"> 360</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">return</span> <span class="keyword">new</span> String(rawdata);</span></pre></td></tr>
+<tr> <td class="numLine"> 361</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLine"> 348</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 362</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLine"> 349</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 363</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLine"> 350</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 364</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr>
-<tr> <td class="numLine"> 351</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 365</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * A convenience method to write an uploaded item to disk. The client code</span></pre></td></tr>
-<tr> <td class="numLine"> 352</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 366</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * is not concerned with whether or not the item is stored in memory, or on</span></pre></td></tr>
-<tr> <td class="numLine"> 353</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 367</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * disk in a temporary location. They just want to write the uploaded item</span></pre></td></tr>
-<tr> <td class="numLine"> 354</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 368</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * to a file.</span></pre></td></tr>
-<tr> <td class="numLine"> 355</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 369</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * <p></span></pre></td></tr>
-<tr> <td class="numLine"> 356</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 370</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * This implementation first attempts to rename the uploaded item to the</span></pre></td></tr>
-<tr> <td class="numLine"> 357</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 371</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * specified destination file, if the item was originally written to disk.</span></pre></td></tr>
-<tr> <td class="numLine"> 358</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 372</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * Otherwise, the data will be copied to the specified file.</span></pre></td></tr>
-<tr> <td class="numLine"> 359</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 373</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * <p></span></pre></td></tr>
-<tr> <td class="numLine"> 360</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 374</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * This method is only guaranteed to work <em>once</em>, the first time it</span></pre></td></tr>
-<tr> <td class="numLine"> 361</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 375</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * is invoked for a particular item. This is because, in the event that the</span></pre></td></tr>
-<tr> <td class="numLine"> 362</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 376</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * method renames a temporary file, that file will no longer be available</span></pre></td></tr>
-<tr> <td class="numLine"> 363</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 377</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * to copy or rename again at a later time.</span></pre></td></tr>
-<tr> <td class="numLine"> 364</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 378</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr>
-<tr> <td class="numLine"> 365</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 379</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * @param file The <code>File</code> into which the uploaded item should</span></pre></td></tr>
-<tr> <td class="numLine"> 366</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 380</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * be stored.</span></pre></td></tr>
-<tr> <td class="numLine"> 367</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 381</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr>
-<tr> <td class="numLine"> 368</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 382</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * @throws Exception if an error occurs.</span></pre></td></tr>
-<tr> <td class="numLine"> 369</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 383</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
-<tr> <td class="numLine"> 370</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 384</td> <td class="nbHits"> </td>
+ <td class="src"><pre class="src"> @Override</pre></td></tr>
+<tr> <td class="numLine"> 385</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">void</span> write(File file) <span class="keyword">throws</span> Exception {</pre></td></tr>
-<tr> <td class="numLineCover"> 371</td> <td class="nbHitsUncovered"><a title="Line 371: Conditional coverage 0% (0/2)."> 0</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 371: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (isInMemory()) {</a></span></pre></td></tr>
-<tr> <td class="numLineCover"> 372</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> FileOutputStream fout = <span class="keyword">null</span>;</span></pre></td></tr>
-<tr> <td class="numLine"> 373</td> <td class="nbHits"> </td>
+<tr> <td class="numLineCover"> 386</td> <td class="nbHitsUncovered"><a title="Line 386: Conditional coverage 0% (0/2)."> 0</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 386: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (isInMemory()) {</a></span></pre></td></tr>
+<tr> <td class="numLineCover"> 387</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> FileOutputStream fout = <span class="keyword">null</span>;</span></pre></td></tr>
+<tr> <td class="numLine"> 388</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">try</span> {</pre></td></tr>
-<tr> <td class="numLineCover"> 374</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> fout = <span class="keyword">new</span> FileOutputStream(file);</span></pre></td></tr>
-<tr> <td class="numLineCover"> 375</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> fout.write(get());</span></pre></td></tr>
-<tr> <td class="numLineCover"> 376</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> fout.close();</span></pre></td></tr>
-<tr> <td class="numLine"> 377</td> <td class="nbHits"> </td>
+<tr> <td class="numLineCover"> 389</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> fout = <span class="keyword">new</span> FileOutputStream(file);</span></pre></td></tr>
+<tr> <td class="numLineCover"> 390</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> fout.write(get());</span></pre></td></tr>
+<tr> <td class="numLineCover"> 391</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> fout.close();</span></pre></td></tr>
+<tr> <td class="numLine"> 392</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> } <span class="keyword">finally</span> {</pre></td></tr>
-<tr> <td class="numLineCover"> 378</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> IOUtils.closeQuietly(fout);</span></pre></td></tr>
-<tr> <td class="numLineCover"> 379</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> }</span></pre></td></tr>
-<tr> <td class="numLineCover"> 380</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> } <span class="keyword">else</span> {</span></pre></td></tr>
-<tr> <td class="numLineCover"> 381</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> File outputFile = getStoreLocation();</span></pre></td></tr>
-<tr> <td class="numLineCover"> 382</td> <td class="nbHitsUncovered"><a title="Line 382: Conditional coverage 0% (0/2)."> 0</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 382: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (outputFile != <span class="keyword">null</span>) {</a></span></pre></td></tr>
-<tr> <td class="numLine"> 383</td> <td class="nbHits"> </td>
+<tr> <td class="numLineCover"> 393</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> IOUtils.closeQuietly(fout);</span></pre></td></tr>
+<tr> <td class="numLineCover"> 394</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> }</span></pre></td></tr>
+<tr> <td class="numLineCover"> 395</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> } <span class="keyword">else</span> {</span></pre></td></tr>
+<tr> <td class="numLineCover"> 396</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> File outputFile = getStoreLocation();</span></pre></td></tr>
+<tr> <td class="numLineCover"> 397</td> <td class="nbHitsUncovered"><a title="Line 397: Conditional coverage 0% (0/2)."> 0</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 397: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (outputFile != <span class="keyword">null</span>) {</a></span></pre></td></tr>
+<tr> <td class="numLine"> 398</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">// Save the length of the file</span></pre></td></tr>
-<tr> <td class="numLineCover"> 384</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> size = outputFile.length();</span></pre></td></tr>
-<tr> <td class="numLine"> 385</td> <td class="nbHits"> </td>
+<tr> <td class="numLineCover"> 399</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> size = outputFile.length();</span></pre></td></tr>
+<tr> <td class="numLine"> 400</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">/*</span></pre></td></tr>
-<tr> <td class="numLine"> 386</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 401</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * The uploaded file is being stored on disk</span></pre></td></tr>
-<tr> <td class="numLine"> 387</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 402</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * in a temporary location so move it to the</span></pre></td></tr>
-<tr> <td class="numLine"> 388</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 403</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * desired file.</span></pre></td></tr>
-<tr> <td class="numLine"> 389</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 404</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
-<tr> <td class="numLineCover"> 390</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> FileUtils.moveFile(outputFile, file);</span></pre></td></tr>
-<tr> <td class="numLine"> 391</td> <td class="nbHits"> </td>
+<tr> <td class="numLineCover"> 405</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> FileUtils.moveFile(outputFile, file);</span></pre></td></tr>
+<tr> <td class="numLine"> 406</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> } <span class="keyword">else</span> {</pre></td></tr>
-<tr> <td class="numLine"> 392</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 407</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">/*</span></pre></td></tr>
-<tr> <td class="numLine"> 393</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 408</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * For whatever reason we cannot write the</span></pre></td></tr>
-<tr> <td class="numLine"> 394</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 409</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * file to disk.</span></pre></td></tr>
-<tr> <td class="numLine"> 395</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 410</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
-<tr> <td class="numLineCover"> 396</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">throw</span> <span class="keyword">new</span> FileUploadException(</span></pre></td></tr>
-<tr> <td class="numLine"> 397</td> <td class="nbHits"> </td>
+<tr> <td class="numLineCover"> 411</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">throw</span> <span class="keyword">new</span> FileUploadException(</span></pre></td></tr>
+<tr> <td class="numLine"> 412</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="string">"Cannot write uploaded file to disk!"</span>);</pre></td></tr>
-<tr> <td class="numLine"> 398</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 413</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLine"> 399</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 414</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 400</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> }</span></pre></td></tr>
-<tr> <td class="numLine"> 401</td> <td class="nbHits"> </td>
+<tr> <td class="numLineCover"> 415</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> }</span></pre></td></tr>
+<tr> <td class="numLine"> 416</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLine"> 402</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 417</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">/**</span></pre></td></tr>
-<tr> <td class="numLine"> 403</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 418</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * Deletes the underlying storage for a file item, including deleting any</span></pre></td></tr>
-<tr> <td class="numLine"> 404</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 419</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * associated temporary disk file. Although this storage will be deleted</span></pre></td></tr>
-<tr> <td class="numLine"> 405</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 420</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * automatically when the <code>FileItem</code> instance is garbage</span></pre></td></tr>
-<tr> <td class="numLine"> 406</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 421</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * collected, this method can be used to ensure that this is done at an</span></pre></td></tr>
-<tr> <td class="numLine"> 407</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 422</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> * earlier time, thus preserving system resources.</span></pre></td></tr>
-<tr> <td class="numLine"> 408</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 423</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
-<tr> <td class="numLine"> 409</td> <td class="nbHits"> </td>
+<tr> <td class="numLine"> 424</td> <td class="nbHits"> </td>
+ <td class="src"><pre class="src"> @Override</pre></td></tr>
+<tr> <td class="numLine"> 425</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">void</span> delete() {</pre></td></tr>
-<tr> <td class="numLineCover"> 410</td> <td class="nbHitsCovered"> 707</td> <td class="src"><pre class="src"> cachedContent = <span class="keyword">null</span>;</pre></td></tr>
-<tr> <td class="numLineCover"> 411</td> <td class="nbHitsCovered"> 707</td> <td class="src"><pre class="src"> File outputFile = getStoreLocation();</pre></td></tr>
[... 591 lines stripped ...]