1 28 package net.sf.jasperreports.view.save; 29 30 import java.io.File ; 31 import java.text.MessageFormat ; 32 33 import javax.swing.JOptionPane ; 34 35 import net.sf.jasperreports.engine.JRException; 36 import net.sf.jasperreports.engine.JasperPrint; 37 import net.sf.jasperreports.engine.util.JRSaver; 38 import net.sf.jasperreports.view.JRSaveContributor; 39 40 44 public class JRPrintSaveContributor extends JRSaveContributor 45 { 46 47 50 private static final String EXTENSION_JRPRINT = ".jrprint"; 51 public static final JRPrintSaveContributor INSTANCE = new JRPrintSaveContributor(); 52 53 56 public static JRPrintSaveContributor getInstance() 57 { 58 return INSTANCE; 59 } 60 61 64 public boolean accept(File file) 65 { 66 if (file.isDirectory()) 67 { 68 return true; 69 } 70 return file.getName().toLowerCase().endsWith(EXTENSION_JRPRINT); 71 } 72 73 76 public String getDescription() 77 { 78 return "JasperReports (*.jrprint)"; 79 } 80 81 84 public void save(JasperPrint jasperPrint, File file) throws JRException 85 { 86 if (!file.getName().endsWith(EXTENSION_JRPRINT)) 87 { 88 file = new File (file.getAbsolutePath() + EXTENSION_JRPRINT); 89 } 90 91 if ( 92 !file.exists() || 93 JOptionPane.OK_OPTION == 94 JOptionPane.showConfirmDialog( 95 null, 96 MessageFormat.format( 97 java.util.ResourceBundle.getBundle("net/sf/jasperreports/view/viewer").getString("file.exists"), 98 new Object []{file.getName()} 99 ), 100 java.util.ResourceBundle.getBundle("net/sf/jasperreports/view/viewer").getString("save"), 101 JOptionPane.OK_CANCEL_OPTION 102 ) 103 ) 104 { 105 JRSaver.saveObject(jasperPrint, file); 106 } 107 } 108 109 } 110 | Popular Tags |