1 28 package net.sf.jasperreports.engine.xml; 29 30 import java.util.Map ; 31 32 import net.sf.jasperreports.engine.JRPrintText; 33 import net.sf.jasperreports.engine.JRReportFont; 34 import net.sf.jasperreports.engine.JasperPrint; 35 36 import org.xml.sax.Attributes ; 37 38 39 43 public class JRPrintFontFactory extends JRBaseFactory 44 { 45 46 47 50 private static final String ATTRIBUTE_reportFont = "reportFont"; 51 private static final String ATTRIBUTE_fontName = "fontName"; 52 private static final String ATTRIBUTE_isBold = "isBold"; 53 private static final String ATTRIBUTE_isItalic = "isItalic"; 54 private static final String ATTRIBUTE_isUnderline = "isUnderline"; 55 private static final String ATTRIBUTE_isStrikeThrough = "isStrikeThrough"; 56 private static final String ATTRIBUTE_size = "size"; 57 private static final String ATTRIBUTE_pdfFontName = "pdfFontName"; 58 private static final String ATTRIBUTE_pdfEncoding = "pdfEncoding"; 59 private static final String ATTRIBUTE_isPdfEmbedded = "isPdfEmbedded"; 60 61 62 65 public Object createObject(Attributes atts) 66 { 67 JRPrintText element = (JRPrintText) digester.peek(); 68 JRPrintXmlLoader printXmlLoader = (JRPrintXmlLoader)digester.peek(digester.getCount() - 1); 69 JasperPrint jasperPrint = (JasperPrint)digester.peek(digester.getCount() - 2); 70 71 if (atts.getValue(ATTRIBUTE_reportFont) != null) 72 { 73 Map fontsMap = jasperPrint.getFontsMap(); 74 75 if ( !fontsMap.containsKey(atts.getValue(ATTRIBUTE_reportFont)) ) 76 { 77 printXmlLoader.addError(new Exception ("Unknown report font : " + atts.getValue(ATTRIBUTE_reportFont))); 78 } 79 80 element.setReportFont((JRReportFont)fontsMap.get(atts.getValue(ATTRIBUTE_reportFont))); 81 } 82 83 if (atts.getValue(ATTRIBUTE_fontName) != null) 84 element.setFontName(atts.getValue(ATTRIBUTE_fontName)); 85 86 if (atts.getValue(ATTRIBUTE_isBold) != null) 87 element.setBold(Boolean.valueOf(atts.getValue(ATTRIBUTE_isBold))); 88 89 if (atts.getValue(ATTRIBUTE_isItalic) != null) 90 element.setItalic(Boolean.valueOf(atts.getValue(ATTRIBUTE_isItalic))); 91 92 if (atts.getValue(ATTRIBUTE_isUnderline) != null) 93 element.setUnderline(Boolean.valueOf(atts.getValue(ATTRIBUTE_isUnderline))); 94 95 if (atts.getValue(ATTRIBUTE_isStrikeThrough) != null) 96 element.setStrikeThrough(Boolean.valueOf(atts.getValue(ATTRIBUTE_isStrikeThrough))); 97 98 if (atts.getValue(ATTRIBUTE_size) != null) 99 element.setFontSize(Integer.parseInt(atts.getValue(ATTRIBUTE_size))); 100 101 if (atts.getValue(ATTRIBUTE_pdfFontName) != null) 102 element.setPdfFontName(atts.getValue(ATTRIBUTE_pdfFontName)); 103 104 if (atts.getValue(ATTRIBUTE_pdfEncoding) != null) 105 element.setPdfEncoding(atts.getValue(ATTRIBUTE_pdfEncoding)); 106 107 if (atts.getValue(ATTRIBUTE_isPdfEmbedded) != null) 108 element.setPdfEmbedded(Boolean.valueOf(atts.getValue(ATTRIBUTE_isPdfEmbedded))); 109 110 return element; 111 } 112 113 114 } 115 | Popular Tags |