1 28 package net.sf.jasperreports.engine.fill; 29 30 import java.io.IOException ; 31 32 import net.sf.jasperreports.engine.JRAbstractObjectFactory; 33 import net.sf.jasperreports.engine.JRChild; 34 import net.sf.jasperreports.engine.JREllipse; 35 import net.sf.jasperreports.engine.JRException; 36 import net.sf.jasperreports.engine.JRExpressionCollector; 37 import net.sf.jasperreports.engine.JRPrintElement; 38 import net.sf.jasperreports.engine.JRPrintEllipse; 39 import net.sf.jasperreports.engine.JRStyle; 40 import net.sf.jasperreports.engine.xml.JRXmlWriter; 41 42 43 47 public class JRFillEllipse extends JRFillGraphicElement implements JREllipse 48 { 49 50 51 54 protected JRFillEllipse( 55 JRBaseFiller filler, 56 JREllipse ellipse, 57 JRFillObjectFactory factory 58 ) 59 { 60 super(filler, ellipse, factory); 61 } 62 63 64 protected JRFillEllipse(JRFillEllipse ellipse, JRFillCloneFactory factory) 65 { 66 super(ellipse, factory); 67 } 68 69 70 73 protected JRTemplateEllipse getJRTemplateEllipse() 74 { 75 JRStyle style = getStyle(); 76 JRTemplateEllipse template = (JRTemplateEllipse) getTemplate(style); 77 if (template == null) 78 { 79 template = new JRTemplateEllipse(filler.getJasperPrint().getDefaultStyleProvider(), this); 80 registerTemplate(style, template); 81 } 82 return template; 83 } 84 85 86 89 protected void evaluate( 90 byte evaluation 91 ) throws JRException 92 { 93 this.reset(); 94 95 this.evaluatePrintWhenExpression(evaluation); 96 97 setValueRepeating(true); 98 } 99 100 101 104 protected JRPrintElement fill() 105 { 106 JRPrintEllipse printEllipse = null; 107 108 printEllipse = new JRTemplatePrintEllipse(this.getJRTemplateEllipse()); 109 printEllipse.setX(this.getX()); 110 printEllipse.setY(this.getRelativeY()); 111 printEllipse.setWidth(getWidth()); 112 printEllipse.setHeight(this.getStretchHeight()); 113 114 return printEllipse; 115 } 116 117 118 121 public JRChild getCopy(JRAbstractObjectFactory factory) 122 { 123 return factory.getEllipse(this); 124 } 125 126 129 public void collectExpressions(JRExpressionCollector collector) 130 { 131 collector.collect(this); 132 } 133 134 137 public void writeXml(JRXmlWriter xmlWriter) throws IOException 138 { 139 xmlWriter.writeEllipse(this); 140 } 141 142 145 protected void resolveElement (JRPrintElement element, byte evaluation) 146 { 147 } 149 150 151 public JRCloneable createClone(JRFillCloneFactory factory) 152 { 153 return new JRFillEllipse(this, factory); 154 } 155 156 } 157 | Popular Tags |