001: /*
002: * ============================================================================
003: * GNU Lesser General Public License
004: * ============================================================================
005: *
006: * JasperReports - Free Java report-generating library.
007: * Copyright (C) 2001-2006 JasperSoft Corporation http://www.jaspersoft.com
008: *
009: * This library is free software; you can redistribute it and/or
010: * modify it under the terms of the GNU Lesser General Public
011: * License as published by the Free Software Foundation; either
012: * version 2.1 of the License, or (at your option) any later version.
013: *
014: * This library is distributed in the hope that it will be useful,
015: * but WITHOUT ANY WARRANTY; without even the implied warranty of
016: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
017: * Lesser General Public License for more details.
018: *
019: * You should have received a copy of the GNU Lesser General Public
020: * License along with this library; if not, write to the Free Software
021: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
022: *
023: * JasperSoft Corporation
024: * 303 Second Street, Suite 450 North
025: * San Francisco, CA 94107
026: * http://www.jaspersoft.com
027: */
028: package net.sf.jasperreports.engine.fill;
029:
030: import java.io.IOException;
031:
032: import net.sf.jasperreports.engine.JRAbstractObjectFactory;
033: import net.sf.jasperreports.engine.JRChild;
034: import net.sf.jasperreports.engine.JRException;
035: import net.sf.jasperreports.engine.JRExpressionCollector;
036: import net.sf.jasperreports.engine.JRPrintElement;
037: import net.sf.jasperreports.engine.JRPrintRectangle;
038: import net.sf.jasperreports.engine.JRRectangle;
039: import net.sf.jasperreports.engine.JRStyle;
040: import net.sf.jasperreports.engine.util.JRStyleResolver;
041: import net.sf.jasperreports.engine.xml.JRXmlWriter;
042:
043: /**
044: * @author Teodor Danciu (teodord@users.sourceforge.net)
045: * @version $Id: JRFillRectangle.java 1357 2006-08-10 09:36:24Z lucianc $
046: */
047: public class JRFillRectangle extends JRFillGraphicElement implements
048: JRRectangle {
049:
050: /**
051: *
052: */
053: protected JRFillRectangle(JRBaseFiller filler,
054: JRRectangle rectangle, JRFillObjectFactory factory) {
055: super (filler, rectangle, factory);
056: }
057:
058: protected JRFillRectangle(JRFillRectangle rectangle,
059: JRFillCloneFactory factory) {
060: super (rectangle, factory);
061: }
062:
063: /**
064: *
065: */
066: public int getRadius() {
067: return JRStyleResolver.getRadius(this );
068: }
069:
070: public Integer getOwnRadius() {
071: return ((JRRectangle) this .parent).getOwnRadius();
072: }
073:
074: /**
075: *
076: */
077: public void setRadius(int radius) {
078: }
079:
080: /**
081: *
082: */
083: public void setRadius(Integer radius) {
084: }
085:
086: /**
087: *
088: */
089: protected JRTemplateRectangle getJRTemplateRectangle() {
090: JRStyle style = getStyle();
091: JRTemplateRectangle template = (JRTemplateRectangle) getTemplate(style);
092: if (template == null) {
093: template = new JRTemplateRectangle(filler.getJasperPrint()
094: .getDefaultStyleProvider(), this );
095: registerTemplate(style, template);
096: }
097: return template;
098: }
099:
100: /**
101: *
102: */
103: protected void evaluate(byte evaluation) throws JRException {
104: this .reset();
105:
106: this .evaluatePrintWhenExpression(evaluation);
107:
108: setValueRepeating(true);
109: }
110:
111: /**
112: *
113: */
114: protected JRPrintElement fill() {
115: JRPrintRectangle printRectangle = null;
116:
117: printRectangle = new JRTemplatePrintRectangle(this
118: .getJRTemplateRectangle());
119: printRectangle.setX(this .getX());
120: printRectangle.setY(this .getRelativeY());
121: printRectangle.setWidth(getWidth());
122: printRectangle.setHeight(this .getStretchHeight());
123:
124: return printRectangle;
125: }
126:
127: /**
128: *
129: */
130: public JRChild getCopy(JRAbstractObjectFactory factory) {
131: return factory.getRectangle(this );
132: }
133:
134: /**
135: *
136: */
137: public void collectExpressions(JRExpressionCollector collector) {
138: collector.collect(this );
139: }
140:
141: /**
142: *
143: */
144: public void writeXml(JRXmlWriter xmlWrite) throws IOException {
145: xmlWrite.writeRectangle(this );
146: }
147:
148: /**
149: *
150: */
151: protected void resolveElement(JRPrintElement element,
152: byte evaluation) {
153: // nothing
154: }
155:
156: public JRCloneable createClone(JRFillCloneFactory factory) {
157: return new JRFillRectangle(this, factory);
158: }
159:
160: }
|