1 4 package com.openedit.archive.generators; 5 6 import java.io.File ; 7 import java.io.FileInputStream ; 8 import java.io.InputStream ; 9 10 import javax.servlet.http.HttpServletResponse ; 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 inFile, Output inOut) throws OpenEditException 22 { 23 HttpServletResponse res = inReq.getResponse(); 25 long len = inFile.length(); 26 if ( len != -1) 27 { 28 res.setContentLength((int)len); 29 } 30 InputStream in = null; 31 try 32 { 33 in = new FileInputStream (inFile); 34 getOutputFiller().fill(in, inOut.getStream()); 35 } 36 catch ( Exception eof ) 37 { 38 if( ignoreError(eof)) 39 { 40 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 |