KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > openedit > archive > generators > TempFileGenerator


1 /*
2  * Created on Jul 21, 2006
3  */

4 package com.openedit.archive.generators;
5
6 import java.io.File JavaDoc;
7 import java.io.FileInputStream JavaDoc;
8 import java.io.InputStream JavaDoc;
9
10 import javax.servlet.http.HttpServletResponse JavaDoc;
11
12 import com.openedit.Generator;
13 import com.openedit.OpenEditException;
14 import com.openedit.WebPageRequest;
15 import com.openedit.generators.BaseGenerator;
16 import com.openedit.generators.Output;
17 import com.openedit.util.FileUtils;
18
19 public abstract class TempFileGenerator extends BaseGenerator implements Generator
20 {
21     public void generate(WebPageRequest inReq, File JavaDoc inFile, Output inOut) throws OpenEditException
22     {
23         //sometimes we can specify the length of the document
24
HttpServletResponse JavaDoc res = inReq.getResponse();
25         long len = inFile.length();
26         if ( len != -1)
27         {
28             res.setContentLength((int)len);
29         }
30         InputStream JavaDoc in = null;
31         try
32         {
33             in = new FileInputStream JavaDoc(inFile);
34             getOutputFiller().fill(in, inOut.getStream());
35         }
36         catch ( Exception JavaDoc eof )
37         {
38             if( ignoreError(eof))
39             {
40                 //ignored
41
return;
42             }
43             throw new OpenEditException(eof);
44         }
45         finally
46         {
47             FileUtils.safeClose(in);
48         }
49     }
50     
51     public boolean canGenerate(WebPageRequest inReq)
52     {
53         return true;
54     }
55
56 }
57
Popular Tags