KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > net > sf > jasperreports > engine > xml > JRPrintFontFactory


1 /*
2  * ============================================================================
3  * GNU Lesser General Public License
4  * ============================================================================
5  *
6  * JasperReports - Free Java report-generating library.
7  * Copyright (C) 2001-2006 JasperSoft Corporation http://www.jaspersoft.com
8  *
9  * This library is free software; you can redistribute it and/or
10  * modify it under the terms of the GNU Lesser General Public
11  * License as published by the Free Software Foundation; either
12  * version 2.1 of the License, or (at your option) any later version.
13  *
14  * This library is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17  * Lesser General Public License for more details.
18  *
19  * You should have received a copy of the GNU Lesser General Public
20  * License along with this library; if not, write to the Free Software
21  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
22  *
23  * JasperSoft Corporation
24  * 303 Second Street, Suite 450 North
25  * San Francisco, CA 94107
26  * http://www.jaspersoft.com
27  */

28 package net.sf.jasperreports.engine.xml;
29
30 import java.util.Map JavaDoc;
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 JavaDoc;
37
38
39 /**
40  * @author Teodor Danciu (teodord@users.sourceforge.net)
41  * @version $Id: JRPrintFontFactory.java 1229 2006-04-19 13:27:35 +0300 (Wed, 19 Apr 2006) teodord $
42  */

43 public class JRPrintFontFactory extends JRBaseFactory
44 {
45
46
47     /**
48      *
49      */

50     private static final String JavaDoc ATTRIBUTE_reportFont = "reportFont";
51     private static final String JavaDoc ATTRIBUTE_fontName = "fontName";
52     private static final String JavaDoc ATTRIBUTE_isBold = "isBold";
53     private static final String JavaDoc ATTRIBUTE_isItalic = "isItalic";
54     private static final String JavaDoc ATTRIBUTE_isUnderline = "isUnderline";
55     private static final String JavaDoc ATTRIBUTE_isStrikeThrough = "isStrikeThrough";
56     private static final String JavaDoc ATTRIBUTE_size = "size";
57     private static final String JavaDoc ATTRIBUTE_pdfFontName = "pdfFontName";
58     private static final String JavaDoc ATTRIBUTE_pdfEncoding = "pdfEncoding";
59     private static final String JavaDoc ATTRIBUTE_isPdfEmbedded = "isPdfEmbedded";
60
61
62     /**
63      *
64      */

65     public Object JavaDoc createObject(Attributes JavaDoc 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 JavaDoc fontsMap = jasperPrint.getFontsMap();
74
75             if ( !fontsMap.containsKey(atts.getValue(ATTRIBUTE_reportFont)) )
76             {
77                 printXmlLoader.addError(new Exception JavaDoc("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