package net.sf.jasperreports.charts.base; import java.awt.Color; import net.sf.jasperreports.charts.JRCandlestickPlot; import net.sf.jasperreports.charts.JRTimeAxisFormat; import net.sf.jasperreports.charts.JRValueAxisFormat; import net.sf.jasperreports.engine.JRChart; import net.sf.jasperreports.engine.JRChartPlot; import net.sf.jasperreports.engine.JRExpression; import net.sf.jasperreports.engine.JRExpressionCollector; import net.sf.jasperreports.engine.JRFont; import net.sf.jasperreports.engine.JRStyleContainer; import net.sf.jasperreports.engine.base.JRBaseChartPlot; import net.sf.jasperreports.engine.base.JRBaseFont; import net.sf.jasperreports.engine.base.JRBaseObjectFactory; import net.sf.jasperreports.engine.util.JRStyleResolver; public class JRBaseCandlestickPlot extends JRBaseChartPlot implements JRCandlestickPlot { private static final long serialVersionUID = 10200L; public static final String PROPERTY_SHOW_VOLUME = "showVolume"; protected JRExpression timeAxisLabelExpression = null; protected JRFont timeAxisLabelFont = null; protected Color timeAxisLabelColor = null; protected JRFont timeAxisTickLabelFont = null; protected Color timeAxisTickLabelColor = null; protected String timeAxisTickLabelMask = null; protected Color timeAxisLineColor = null; protected JRExpression valueAxisLabelExpression = null; protected JRFont valueAxisLabelFont = null; protected Color valueAxisLabelColor = null; protected JRFont valueAxisTickLabelFont = null; protected Color valueAxisTickLabelColor = null; protected String valueAxisTickLabelMask = null; protected Color valueAxisLineColor = null; protected boolean isShowVolume = true; protected JRBaseCandlestickPlot(JRChartPlot candlestickPlot, JRChart chart) { super(candlestickPlot, chart); } public JRBaseCandlestickPlot(JRCandlestickPlot candlestickPlot, JRBaseObjectFactory factory) { super((JRChartPlot)candlestickPlot, factory); this.isShowVolume = candlestickPlot.isShowVolume(); this.timeAxisLabelExpression = factory.getExpression(candlestickPlot.getTimeAxisLabelExpression()); this.timeAxisLabelFont = (JRFont)new JRBaseFont(null, null, (JRStyleContainer)candlestickPlot.getChart(), candlestickPlot.getTimeAxisLabelFont()); this.timeAxisLabelColor = candlestickPlot.getOwnTimeAxisLabelColor(); this.timeAxisTickLabelFont = (JRFont)new JRBaseFont(null, null, (JRStyleContainer)candlestickPlot.getChart(), candlestickPlot.getTimeAxisTickLabelFont()); this.timeAxisTickLabelColor = candlestickPlot.getOwnTimeAxisTickLabelColor(); this.timeAxisTickLabelMask = candlestickPlot.getTimeAxisTickLabelMask(); this.timeAxisLineColor = candlestickPlot.getTimeAxisLineColor(); this.valueAxisLabelExpression = factory.getExpression(candlestickPlot.getValueAxisLabelExpression()); this.valueAxisLabelFont = (JRFont)new JRBaseFont(null, null, (JRStyleContainer)candlestickPlot.getChart(), candlestickPlot.getValueAxisLabelFont()); this.valueAxisLabelColor = candlestickPlot.getOwnValueAxisLabelColor(); this.valueAxisTickLabelFont = (JRFont)new JRBaseFont(null, null, (JRStyleContainer)candlestickPlot.getChart(), candlestickPlot.getValueAxisTickLabelFont()); this.valueAxisTickLabelColor = candlestickPlot.getOwnValueAxisTickLabelColor(); this.valueAxisTickLabelMask = candlestickPlot.getValueAxisTickLabelMask(); this.valueAxisLineColor = candlestickPlot.getValueAxisTickLabelColor(); } public JRExpression getTimeAxisLabelExpression() { return this.timeAxisLabelExpression; } public JRFont getTimeAxisLabelFont() { return this.timeAxisLabelFont; } public Color getTimeAxisLabelColor() { return JRStyleResolver.getTimeAxisLabelColor((JRTimeAxisFormat)this, (JRChartPlot)this); } public Color getOwnTimeAxisLabelColor() { return this.timeAxisLabelColor; } public JRFont getTimeAxisTickLabelFont() { return this.timeAxisTickLabelFont; } public Color getTimeAxisTickLabelColor() { return JRStyleResolver.getTimeAxisTickLabelColor((JRTimeAxisFormat)this, (JRChartPlot)this); } public Color getOwnTimeAxisTickLabelColor() { return this.timeAxisTickLabelColor; } public String getTimeAxisTickLabelMask() { return this.timeAxisTickLabelMask; } public Color getTimeAxisLineColor() { return JRStyleResolver.getTimeAxisLineColor((JRTimeAxisFormat)this, (JRChartPlot)this); } public Color getOwnTimeAxisLineColor() { return this.timeAxisLineColor; } public JRExpression getValueAxisLabelExpression() { return this.valueAxisLabelExpression; } public JRFont getValueAxisLabelFont() { return this.valueAxisLabelFont; } public Color getValueAxisLabelColor() { return JRStyleResolver.getValueAxisLabelColor((JRValueAxisFormat)this, (JRChartPlot)this); } public Color getOwnValueAxisLabelColor() { return this.valueAxisLabelColor; } public JRFont getValueAxisTickLabelFont() { return this.valueAxisTickLabelFont; } public Color getValueAxisTickLabelColor() { return JRStyleResolver.getValueAxisTickLabelColor((JRValueAxisFormat)this, (JRChartPlot)this); } public Color getOwnValueAxisTickLabelColor() { return this.valueAxisTickLabelColor; } public String getValueAxisTickLabelMask() { return this.valueAxisTickLabelMask; } public Color getValueAxisLineColor() { return JRStyleResolver.getValueAxisLineColor((JRValueAxisFormat)this, (JRChartPlot)this); } public Color getOwnValueAxisLineColor() { return this.valueAxisLineColor; } public boolean isShowVolume() { return this.isShowVolume; } public void setShowVolume(boolean ShowVolume) { boolean old = this.isShowVolume; this.isShowVolume = ShowVolume; getEventSupport().firePropertyChange("showVolume", old, this.isShowVolume); } public void collectExpressions(JRExpressionCollector collector) { collector.collect(this); } public Object clone(JRChart parentChart) { JRBaseCandlestickPlot clone = (JRBaseCandlestickPlot)super.clone(parentChart); if (this.timeAxisLabelExpression != null) clone.timeAxisLabelExpression = (JRExpression)this.timeAxisLabelExpression.clone(); if (this.valueAxisLabelExpression != null) clone.valueAxisLabelExpression = (JRExpression)this.valueAxisLabelExpression.clone(); return clone; } }