KickJava   Java API By Example, From Geeks To Geeks.

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


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.awt.Color JavaDoc;
31
32 import net.sf.jasperreports.engine.JRChartPlot;
33 import net.sf.jasperreports.engine.base.JRBaseChartPlot;
34
35 import org.jfree.chart.plot.PlotOrientation;
36 import org.xml.sax.Attributes JavaDoc;
37
38
39 /**
40  * @author Ionut Nedelcu (ionutned@users.sourceforge.net)
41  * @version $Id: JRChartPlotFactory.java 1393 2006-09-06 01:04:21 +0300 (Wed, 06 Sep 2006) bklawans $
42  */

43 public class JRChartPlotFactory extends JRBaseFactory
44 {
45
46     private static final String JavaDoc ATTRIBUTE_backcolor = "backcolor";
47     private static final String JavaDoc ATTRIBUTE_orientation = "orientation";
48     private static final String JavaDoc ATTRIBUTE_backgroundAlpha = "backgroundAlpha";
49     private static final String JavaDoc ATTRIBUTE_foregroundAlpha = "foregroundAlpha";
50     private static final String JavaDoc ATTRIBUTE_labelRotation = "labelRotation";
51
52
53     /**
54      *
55      */

56     public Object JavaDoc createObject(Attributes JavaDoc atts)
57     {
58         JRChartPlot plot = (JRChartPlot) digester.peek();
59
60         Color JavaDoc color = JRXmlConstants.getColor(atts.getValue(ATTRIBUTE_backcolor), Color.black);
61         if (color != null)
62         {
63             plot.setBackcolor(color);
64         }
65
66         String JavaDoc orientation = atts.getValue(ATTRIBUTE_orientation);
67         if (orientation != null && orientation.length() > 0)
68             plot.setOrientation((PlotOrientation)JRXmlConstants.getPlotOrientationMap().get(orientation));
69
70         String JavaDoc foregroundAlpha = atts.getValue(ATTRIBUTE_foregroundAlpha);
71         if (foregroundAlpha != null && foregroundAlpha.length() > 0)
72             plot.setForegroundAlpha(Float.valueOf(foregroundAlpha).floatValue());
73
74         String JavaDoc backgroundAlpha = atts.getValue(ATTRIBUTE_backgroundAlpha);
75         if (backgroundAlpha != null && backgroundAlpha.length() > 0)
76             plot.setBackgroundAlpha(Float.valueOf(backgroundAlpha).floatValue());
77
78         String JavaDoc labelRotation = atts.getValue(ATTRIBUTE_labelRotation);
79         if (labelRotation != null && labelRotation.length() > 0)
80             plot.setLabelRotation(Double.valueOf(labelRotation).doubleValue());
81
82         return plot;
83     }
84     
85     public static class JRSeriesColorFactory extends JRBaseFactory
86     {
87         public static final String JavaDoc ATTRIBUTE_seriesOrder = "seriesOrder";
88         public static final String JavaDoc ATTRIBUTE_color = "color";
89         
90         public Object JavaDoc createObject(Attributes JavaDoc atts)
91         {
92             int seriesIndex = -1;
93             Color JavaDoc color = null;
94             
95             String JavaDoc seriesNumber = atts.getValue(ATTRIBUTE_seriesOrder);
96             if (seriesNumber != null && seriesNumber.length() > 0)
97                 seriesIndex = Integer.valueOf(seriesNumber).intValue();
98
99             String JavaDoc colorName = atts.getValue(ATTRIBUTE_color);
100             if (colorName != null && colorName.length() > 0)
101                 color = JRXmlConstants.getColor(colorName, null);
102             
103             return new JRBaseChartPlot.JRBaseSeriesColor(seriesIndex, color);
104         }
105     }
106 }
107
Popular Tags