1 /*
2  * JasperReports - Free Java Reporting Library.
3  * Copyright (C) 2001 - 2019 TIBCO Software Inc. All rights reserved.
4  * http://www.jaspersoft.com
5  *
6  * Unless you have purchased a commercial license agreement from Jaspersoft,
7  * the following license terms apply:
8  *
9  * This program is part of JasperReports.
10  *
11  * JasperReports is free software: you can redistribute it and/or modify
12  * it under the terms of the GNU Lesser General Public License as published by
13  * the Free Software Foundation, either version 3 of the License, or
14  * (at your option) any later version.
15  *
16  * JasperReports is distributed in the hope that it will be useful,
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19  * GNU Lesser General Public License for more details.
20  *
21  * You should have received a copy of the GNU Lesser General Public License
22  * along with JasperReports. If not, see <http://www.gnu.org/licenses/>.
23  */

24 package net.sf.jasperreports.engine.base;
25
26 import java.awt.Color;
27
28 import net.sf.jasperreports.engine.JRConstants;
29 import net.sf.jasperreports.engine.JRLineBox;
30 import net.sf.jasperreports.engine.JRPen;
31 import net.sf.jasperreports.engine.type.LineStyleEnum;
32
33
34 /**
35  * @author Teodor Danciu (teodord@users.sourceforge.net)
36  */

37 public class JRBaseBoxPen extends JRBasePen implements JRBoxPen
38 {
39
40     /**
41      *
42      */

43     private static final long serialVersionUID = JRConstants.SERIAL_VERSION_UID;
44     
45     protected JRLineBox lineBox;
46     
47     /**
48      *
49      */

50     public JRBaseBoxPen(JRLineBox box)
51     {
52         super(box);
53
54         this.lineBox = box;
55     }
56     
57     @Override
58     public JRLineBox getBox() 
59     {
60         return lineBox;
61     }
62
63     @Override
64     public Float getLineWidth()
65     {
66         return getStyleResolver().getLineWidth(this, penContainer.getDefaultLineWidth());
67     }
68
69     @Override
70     public LineStyleEnum getLineStyleValue()
71     {
72         return getStyleResolver().getLineStyleValue(this);
73     }
74
75     @Override
76     public Color getLineColor()
77     {
78         return getStyleResolver().getLineColor(this, penContainer.getDefaultLineColor());
79     }
80
81     @Override
82     public JRPen getPen(JRLineBox box) 
83     {
84         return box.getPen();
85     }
86
87     @Override
88     public JRBoxPen clone(JRLineBox lineBox)
89     {
90         JRBaseBoxPen clone = (JRBaseBoxPen)super.clone(lineBox);
91         
92         clone.lineBox = lineBox;
93         
94         return clone;
95     }
96     
97 }
98