first commit

This commit is contained in:
2025-07-28 13:56:49 +05:30
commit e9eb805edb
3438 changed files with 520990 additions and 0 deletions

View File

@@ -0,0 +1,932 @@
package net.sf.jasperreports.engine.design;
import java.awt.Color;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;
import net.sf.jasperreports.charts.design.JRDesignAreaPlot;
import net.sf.jasperreports.charts.design.JRDesignBar3DPlot;
import net.sf.jasperreports.charts.design.JRDesignBarPlot;
import net.sf.jasperreports.charts.design.JRDesignBubblePlot;
import net.sf.jasperreports.charts.design.JRDesignCandlestickPlot;
import net.sf.jasperreports.charts.design.JRDesignCategoryDataset;
import net.sf.jasperreports.charts.design.JRDesignHighLowDataset;
import net.sf.jasperreports.charts.design.JRDesignHighLowPlot;
import net.sf.jasperreports.charts.design.JRDesignLinePlot;
import net.sf.jasperreports.charts.design.JRDesignMeterPlot;
import net.sf.jasperreports.charts.design.JRDesignMultiAxisPlot;
import net.sf.jasperreports.charts.design.JRDesignPie3DPlot;
import net.sf.jasperreports.charts.design.JRDesignPieDataset;
import net.sf.jasperreports.charts.design.JRDesignPiePlot;
import net.sf.jasperreports.charts.design.JRDesignScatterPlot;
import net.sf.jasperreports.charts.design.JRDesignThermometerPlot;
import net.sf.jasperreports.charts.design.JRDesignTimeSeriesDataset;
import net.sf.jasperreports.charts.design.JRDesignTimeSeriesPlot;
import net.sf.jasperreports.charts.design.JRDesignValueDataset;
import net.sf.jasperreports.charts.design.JRDesignXyDataset;
import net.sf.jasperreports.charts.design.JRDesignXyzDataset;
import net.sf.jasperreports.engine.JRBox;
import net.sf.jasperreports.engine.JRBoxContainer;
import net.sf.jasperreports.engine.JRChart;
import net.sf.jasperreports.engine.JRChartDataset;
import net.sf.jasperreports.engine.JRChartPlot;
import net.sf.jasperreports.engine.JRCommonElement;
import net.sf.jasperreports.engine.JRDefaultStyleProvider;
import net.sf.jasperreports.engine.JRExpression;
import net.sf.jasperreports.engine.JRExpressionCollector;
import net.sf.jasperreports.engine.JRFont;
import net.sf.jasperreports.engine.JRGroup;
import net.sf.jasperreports.engine.JRHyperlink;
import net.sf.jasperreports.engine.JRHyperlinkHelper;
import net.sf.jasperreports.engine.JRHyperlinkParameter;
import net.sf.jasperreports.engine.JRLineBox;
import net.sf.jasperreports.engine.JRPen;
import net.sf.jasperreports.engine.JRRuntimeException;
import net.sf.jasperreports.engine.JRVisitor;
import net.sf.jasperreports.engine.base.JRBaseLineBox;
import net.sf.jasperreports.engine.util.JRBoxUtil;
import net.sf.jasperreports.engine.util.JRPenUtil;
import net.sf.jasperreports.engine.util.JRStyleResolver;
import net.sf.jasperreports.engine.util.LineBoxWrapper;
public class JRDesignChart extends JRDesignElement implements JRChart {
private static final long serialVersionUID = 10200L;
public static final String PROPERTY_ANCHOR_NAME_EXPRESSION = "anchorNameExpression";
public static final String PROPERTY_BOOKMARK_LEVEL = "bookmarkLevel";
public static final String PROPERTY_EVALUATION_GROUP = "evaluationGroup";
public static final String PROPERTY_EVALUATION_TIME = "evaluationTime";
public static final String PROPERTY_CHART_TYPE = "chartType";
public static final String PROPERTY_CUSTOMIZER_CLASS = "customizerClass";
public static final String PROPERTY_DATASET = "dataset";
public static final String PROPERTY_LEGEND_FONT = "legendFont";
public static final String PROPERTY_SUBTITLE_EXPRESSION = "subtitleExpression";
public static final String PROPERTY_SUBTITLE_FONT = "subtitleFont";
public static final String PROPERTY_TITLE_EXPRESSION = "titleExpression";
public static final String PROPERTY_TITLE_FONT = "titleFont";
protected byte chartType = 0;
protected boolean isShowLegend = false;
protected byte evaluationTime = 1;
protected byte hyperlinkType = 0;
protected String linkType;
protected byte hyperlinkTarget = 1;
protected byte titlePosition = 1;
protected Color titleColor = null;
protected Color subtitleColor = null;
protected Color legendColor = null;
protected Color legendBackgroundColor = null;
protected byte legendPosition = 2;
protected String renderType;
protected JRFont titleFont = null;
protected JRFont subtitleFont = null;
protected JRFont legendFont = null;
protected String customizerClass;
protected JRGroup evaluationGroup = null;
protected JRExpression titleExpression = null;
protected JRExpression subtitleExpression = null;
protected JRExpression anchorNameExpression = null;
protected JRExpression hyperlinkReferenceExpression = null;
protected JRExpression hyperlinkAnchorExpression = null;
protected JRExpression hyperlinkPageExpression = null;
private JRExpression hyperlinkTooltipExpression;
private List hyperlinkParameters;
protected JRChartDataset dataset = null;
protected JRChartPlot plot = null;
protected JRLineBox lineBox;
protected int bookmarkLevel = 0;
private Byte border;
private Byte topBorder;
private Byte leftBorder;
private Byte bottomBorder;
private Byte rightBorder;
private Color borderColor;
private Color topBorderColor;
private Color leftBorderColor;
private Color bottomBorderColor;
private Color rightBorderColor;
private Integer padding;
private Integer topPadding;
private Integer leftPadding;
private Integer bottomPadding;
private Integer rightPadding;
public JRDesignChart(JRDefaultStyleProvider defaultStyleProvider, byte chartType) {
super(defaultStyleProvider);
this.border = null;
this.topBorder = null;
this.leftBorder = null;
this.bottomBorder = null;
this.rightBorder = null;
this.borderColor = null;
this.topBorderColor = null;
this.leftBorderColor = null;
this.bottomBorderColor = null;
this.rightBorderColor = null;
this.padding = null;
this.topPadding = null;
this.leftPadding = null;
this.bottomPadding = null;
this.rightPadding = null;
setChartType(chartType);
this.hyperlinkParameters = new ArrayList();
this.lineBox = (JRLineBox)new JRBaseLineBox((JRBoxContainer)this);
}
public boolean isShowLegend() {
return this.isShowLegend;
}
public void setShowLegend(boolean isShowLegend) {
boolean old = this.isShowLegend;
this.isShowLegend = isShowLegend;
getEventSupport().firePropertyChange("showLegend", old, this.isShowLegend);
}
public String getRenderType() {
return this.renderType;
}
public void setRenderType(String renderType) {
String old = this.renderType;
this.renderType = renderType;
getEventSupport().firePropertyChange("renderType", old, this.renderType);
}
public byte getEvaluationTime() {
return this.evaluationTime;
}
public void setEvaluationTime(byte evaluationTime) {
byte old = this.evaluationTime;
this.evaluationTime = evaluationTime;
getEventSupport().firePropertyChange("evaluationTime", old, this.evaluationTime);
}
public JRGroup getEvaluationGroup() {
return this.evaluationGroup;
}
public void setEvaluationGroup(JRGroup group) {
Object old = this.evaluationGroup;
this.evaluationGroup = group;
getEventSupport().firePropertyChange("evaluationGroup", old, this.evaluationGroup);
}
public JRBox getBox() {
return (JRBox)new LineBoxWrapper(getLineBox());
}
public JRLineBox getLineBox() {
return this.lineBox;
}
public void setBox(JRBox box) {
JRBoxUtil.setBoxToLineBox(box, this.lineBox);
}
public JRFont getTitleFont() {
return this.titleFont;
}
public void setTitleFont(JRFont font) {
Object old = this.titleFont;
this.titleFont = font;
getEventSupport().firePropertyChange("titleFont", old, this.titleFont);
}
public byte getTitlePosition() {
return this.titlePosition;
}
public void setTitlePosition(byte titlePosition) {
byte old = this.titlePosition;
this.titlePosition = titlePosition;
getEventSupport().firePropertyChange("titlePosition", old, this.titlePosition);
}
public Color getTitleColor() {
return JRStyleResolver.getTitleColor(this);
}
public Color getOwnTitleColor() {
return this.titleColor;
}
public void setTitleColor(Color titleColor) {
Object old = this.titleColor;
this.titleColor = titleColor;
getEventSupport().firePropertyChange("titleColor", old, this.titleColor);
}
public JRFont getSubtitleFont() {
return this.subtitleFont;
}
public void setSubtitleFont(JRFont font) {
Object old = this.subtitleFont;
this.subtitleFont = font;
getEventSupport().firePropertyChange("subtitleFont", old, this.subtitleFont);
}
public Color getSubtitleColor() {
return JRStyleResolver.getSubtitleColor(this);
}
public Color getOwnSubtitleColor() {
return this.subtitleColor;
}
public void setSubtitleColor(Color subtitleColor) {
Object old = this.subtitleColor;
this.subtitleColor = subtitleColor;
getEventSupport().firePropertyChange("subtitleColor", old, this.subtitleColor);
}
public Color getOwnLegendColor() {
return this.legendColor;
}
public Color getLegendColor() {
return JRStyleResolver.getLegendColor(this);
}
public void setLegendColor(Color legendColor) {
Object old = this.legendColor;
this.legendColor = legendColor;
getEventSupport().firePropertyChange("legendColor", old, this.legendColor);
}
public Color getOwnLegendBackgroundColor() {
return this.legendBackgroundColor;
}
public Color getLegendBackgroundColor() {
return JRStyleResolver.getLegendBackgroundColor(this);
}
public void setLegendBackgroundColor(Color legendBackgroundColor) {
Object old = this.legendBackgroundColor;
this.legendBackgroundColor = legendBackgroundColor;
getEventSupport().firePropertyChange("legendBackgroundColor", old, this.legendBackgroundColor);
}
public JRFont getLegendFont() {
return this.legendFont;
}
public void setLegendFont(JRFont legendFont) {
Object old = this.legendFont;
this.legendFont = legendFont;
getEventSupport().firePropertyChange("legendFont", old, this.legendFont);
}
public byte getLegendPosition() {
return this.legendPosition;
}
public void setLegendPosition(byte legendPosition) {
byte old = this.legendPosition;
this.legendPosition = legendPosition;
getEventSupport().firePropertyChange("legendPosition", old, this.legendPosition);
}
public byte getHyperlinkType() {
return JRHyperlinkHelper.getHyperlinkType((JRHyperlink)this);
}
public void setHyperlinkType(byte hyperlinkType) {
setLinkType(JRHyperlinkHelper.getLinkType(hyperlinkType));
}
public byte getHyperlinkTarget() {
return this.hyperlinkTarget;
}
public void setHyperlinkTarget(byte hyperlinkTarget) {
byte old = this.hyperlinkTarget;
this.hyperlinkTarget = hyperlinkTarget;
getEventSupport().firePropertyChange("hyperlinkTarget", old, this.hyperlinkTarget);
}
public JRExpression getTitleExpression() {
return this.titleExpression;
}
public void setTitleExpression(JRExpression expression) {
Object old = this.titleExpression;
this.titleExpression = expression;
getEventSupport().firePropertyChange("titleExpression", old, this.titleExpression);
}
public JRExpression getSubtitleExpression() {
return this.subtitleExpression;
}
public void setSubtitleExpression(JRExpression expression) {
Object old = this.subtitleExpression;
this.subtitleExpression = expression;
getEventSupport().firePropertyChange("subtitleExpression", old, this.subtitleExpression);
}
public JRExpression getAnchorNameExpression() {
return this.anchorNameExpression;
}
public void setAnchorNameExpression(JRExpression anchorNameExpression) {
Object old = this.anchorNameExpression;
this.anchorNameExpression = anchorNameExpression;
getEventSupport().firePropertyChange("anchorNameExpression", old, this.anchorNameExpression);
}
public JRExpression getHyperlinkReferenceExpression() {
return this.hyperlinkReferenceExpression;
}
public void setHyperlinkReferenceExpression(JRExpression hyperlinkReferenceExpression) {
Object old = this.hyperlinkReferenceExpression;
this.hyperlinkReferenceExpression = hyperlinkReferenceExpression;
getEventSupport().firePropertyChange("hyperlinkReferenceExpression", old, this.hyperlinkReferenceExpression);
}
public JRExpression getHyperlinkAnchorExpression() {
return this.hyperlinkAnchorExpression;
}
public void setHyperlinkAnchorExpression(JRExpression hyperlinkAnchorExpression) {
Object old = this.hyperlinkAnchorExpression;
this.hyperlinkAnchorExpression = hyperlinkAnchorExpression;
getEventSupport().firePropertyChange("hyperlinkAnchorExpression", old, this.hyperlinkAnchorExpression);
}
public JRExpression getHyperlinkPageExpression() {
return this.hyperlinkPageExpression;
}
public void setHyperlinkPageExpression(JRExpression hyperlinkPageExpression) {
Object old = this.hyperlinkPageExpression;
this.hyperlinkPageExpression = hyperlinkPageExpression;
getEventSupport().firePropertyChange("hyperlinkPageExpression", old, this.hyperlinkPageExpression);
}
public JRChartDataset getDataset() {
return this.dataset;
}
public JRChartPlot getPlot() {
return this.plot;
}
public byte getChartType() {
return this.chartType;
}
public void setChartType(byte chartType) {
byte old = this.chartType;
this.chartType = chartType;
switch (chartType) {
case 1:
this.dataset = (JRChartDataset)new JRDesignCategoryDataset(this.dataset);
this.plot = (JRChartPlot)new JRDesignAreaPlot(this.plot, this);
break;
case 3:
this.dataset = (JRChartDataset)new JRDesignCategoryDataset(this.dataset);
this.plot = (JRChartPlot)new JRDesignBarPlot(this.plot, this);
break;
case 2:
this.dataset = (JRChartDataset)new JRDesignCategoryDataset(this.dataset);
this.plot = (JRChartPlot)new JRDesignBar3DPlot(this.plot, this);
break;
case 4:
this.dataset = (JRChartDataset)new JRDesignXyzDataset(this.dataset);
this.plot = (JRChartPlot)new JRDesignBubblePlot(this.plot, this);
break;
case 5:
this.dataset = (JRChartDataset)new JRDesignHighLowDataset(this.dataset);
this.plot = (JRChartPlot)new JRDesignCandlestickPlot(this.plot, this);
break;
case 6:
this.dataset = (JRChartDataset)new JRDesignHighLowDataset(this.dataset);
this.plot = (JRChartPlot)new JRDesignHighLowPlot(this.plot, this);
break;
case 7:
this.dataset = (JRChartDataset)new JRDesignCategoryDataset(this.dataset);
this.plot = (JRChartPlot)new JRDesignLinePlot(this.plot, this);
break;
case 17:
this.dataset = (JRChartDataset)new JRDesignValueDataset(this.dataset);
this.plot = (JRChartPlot)new JRDesignMeterPlot(this.plot, this);
break;
case 19:
this.plot = (JRChartPlot)new JRDesignMultiAxisPlot(this.plot, this);
this.dataset = null;
break;
case 9:
this.dataset = (JRChartDataset)new JRDesignPieDataset(this.dataset);
this.plot = (JRChartPlot)new JRDesignPiePlot(this.plot, this);
break;
case 8:
this.dataset = (JRChartDataset)new JRDesignPieDataset(this.dataset);
this.plot = (JRChartPlot)new JRDesignPie3DPlot(this.plot, this);
break;
case 10:
this.dataset = (JRChartDataset)new JRDesignXyDataset(this.dataset);
this.plot = (JRChartPlot)new JRDesignScatterPlot(this.plot, this);
break;
case 12:
this.dataset = (JRChartDataset)new JRDesignCategoryDataset(this.dataset);
this.plot = (JRChartPlot)new JRDesignBarPlot(this.plot, this);
break;
case 11:
this.dataset = (JRChartDataset)new JRDesignCategoryDataset(this.dataset);
this.plot = (JRChartPlot)new JRDesignBar3DPlot(this.plot, this);
break;
case 18:
this.dataset = (JRChartDataset)new JRDesignValueDataset(this.dataset);
this.plot = (JRChartPlot)new JRDesignThermometerPlot(this.plot, this);
break;
case 16:
this.dataset = (JRChartDataset)new JRDesignTimeSeriesDataset(this.dataset);
this.plot = (JRChartPlot)new JRDesignTimeSeriesPlot(this.plot, this);
break;
case 13:
this.dataset = (JRChartDataset)new JRDesignXyDataset(this.dataset);
this.plot = (JRChartPlot)new JRDesignAreaPlot(this.plot, this);
break;
case 14:
this.plot = (JRChartPlot)new JRDesignBarPlot(this.plot, this);
break;
case 15:
this.dataset = (JRChartDataset)new JRDesignXyDataset(this.dataset);
this.plot = (JRChartPlot)new JRDesignLinePlot(this.plot, this);
break;
case 20:
this.dataset = (JRChartDataset)new JRDesignCategoryDataset(this.dataset);
this.plot = (JRChartPlot)new JRDesignAreaPlot(this.plot, this);
break;
default:
throw new JRRuntimeException("Chart type not supported.");
}
getEventSupport().firePropertyChange("chartType", old, this.chartType);
}
public void setDataset(JRChartDataset ds) {
Object old = this.dataset;
switch (ds.getDatasetType()) {
case 2:
this.dataset = ds;
break;
case 7:
this.dataset = ds;
break;
case 1:
this.dataset = ds;
break;
case 5:
this.dataset = ds;
break;
case 6:
this.dataset = ds;
break;
case 8:
this.dataset = ds;
break;
case 3:
this.dataset = ds;
break;
case 4:
this.dataset = ds;
break;
}
getEventSupport().firePropertyChange("dataset", old, this.dataset);
}
public void collectExpressions(JRExpressionCollector collector) {
collector.collect(this);
}
public void visit(JRVisitor visitor) {
visitor.visitChart(this);
}
public int getBookmarkLevel() {
return this.bookmarkLevel;
}
public void setBookmarkLevel(int bookmarkLevel) {
int old = this.bookmarkLevel;
this.bookmarkLevel = bookmarkLevel;
getEventSupport().firePropertyChange("bookmarkLevel", old, this.bookmarkLevel);
}
public String getCustomizerClass() {
return this.customizerClass;
}
public void setCustomizerClass(String customizerClass) {
Object old = this.customizerClass;
this.customizerClass = customizerClass;
getEventSupport().firePropertyChange("customizerClass", old, this.customizerClass);
}
public byte getMode() {
return JRStyleResolver.getMode((JRCommonElement)this, (byte)2);
}
public byte getBorder() {
return JRPenUtil.getPenFromLinePen((JRPen)this.lineBox.getPen());
}
public Byte getOwnBorder() {
return JRPenUtil.getOwnPenFromLinePen((JRPen)this.lineBox.getPen());
}
public void setBorder(byte border) {
JRPenUtil.setLinePenFromPen(border, (JRPen)this.lineBox.getPen());
}
public void setBorder(Byte border) {
JRPenUtil.setLinePenFromPen(border, (JRPen)this.lineBox.getPen());
}
public Color getBorderColor() {
return this.lineBox.getPen().getLineColor();
}
public Color getOwnBorderColor() {
return this.lineBox.getPen().getOwnLineColor();
}
public void setBorderColor(Color borderColor) {
this.lineBox.getPen().setLineColor(borderColor);
}
public int getPadding() {
return this.lineBox.getPadding().intValue();
}
public Integer getOwnPadding() {
return this.lineBox.getOwnPadding();
}
public void setPadding(int padding) {
this.lineBox.setPadding(padding);
}
public void setPadding(Integer padding) {
this.lineBox.setPadding(padding);
}
public byte getTopBorder() {
return JRPenUtil.getPenFromLinePen((JRPen)this.lineBox.getTopPen());
}
public Byte getOwnTopBorder() {
return JRPenUtil.getOwnPenFromLinePen((JRPen)this.lineBox.getTopPen());
}
public void setTopBorder(byte topBorder) {
JRPenUtil.setLinePenFromPen(topBorder, (JRPen)this.lineBox.getTopPen());
}
public void setTopBorder(Byte topBorder) {
JRPenUtil.setLinePenFromPen(topBorder, (JRPen)this.lineBox.getTopPen());
}
public Color getTopBorderColor() {
return this.lineBox.getTopPen().getLineColor();
}
public Color getOwnTopBorderColor() {
return this.lineBox.getTopPen().getOwnLineColor();
}
public void setTopBorderColor(Color topBorderColor) {
this.lineBox.getTopPen().setLineColor(topBorderColor);
}
public int getTopPadding() {
return this.lineBox.getTopPadding().intValue();
}
public Integer getOwnTopPadding() {
return this.lineBox.getOwnTopPadding();
}
public void setTopPadding(int topPadding) {
this.lineBox.setTopPadding(topPadding);
}
public void setTopPadding(Integer topPadding) {
this.lineBox.setTopPadding(topPadding);
}
public byte getLeftBorder() {
return JRPenUtil.getPenFromLinePen((JRPen)this.lineBox.getLeftPen());
}
public Byte getOwnLeftBorder() {
return JRPenUtil.getOwnPenFromLinePen((JRPen)this.lineBox.getLeftPen());
}
public void setLeftBorder(byte leftBorder) {
JRPenUtil.setLinePenFromPen(leftBorder, (JRPen)this.lineBox.getLeftPen());
}
public void setLeftBorder(Byte leftBorder) {
JRPenUtil.setLinePenFromPen(leftBorder, (JRPen)this.lineBox.getLeftPen());
}
public Color getLeftBorderColor() {
return this.lineBox.getLeftPen().getLineColor();
}
public Color getOwnLeftBorderColor() {
return this.lineBox.getLeftPen().getOwnLineColor();
}
public void setLeftBorderColor(Color leftBorderColor) {
this.lineBox.getLeftPen().setLineColor(leftBorderColor);
}
public int getLeftPadding() {
return this.lineBox.getLeftPadding().intValue();
}
public Integer getOwnLeftPadding() {
return this.lineBox.getOwnLeftPadding();
}
public void setLeftPadding(int leftPadding) {
this.lineBox.setLeftPadding(leftPadding);
}
public void setLeftPadding(Integer leftPadding) {
this.lineBox.setLeftPadding(leftPadding);
}
public byte getBottomBorder() {
return JRPenUtil.getPenFromLinePen((JRPen)this.lineBox.getBottomPen());
}
public Byte getOwnBottomBorder() {
return JRPenUtil.getOwnPenFromLinePen((JRPen)this.lineBox.getBottomPen());
}
public void setBottomBorder(byte bottomBorder) {
JRPenUtil.setLinePenFromPen(bottomBorder, (JRPen)this.lineBox.getBottomPen());
}
public void setBottomBorder(Byte bottomBorder) {
JRPenUtil.setLinePenFromPen(bottomBorder, (JRPen)this.lineBox.getBottomPen());
}
public Color getBottomBorderColor() {
return this.lineBox.getBottomPen().getLineColor();
}
public Color getOwnBottomBorderColor() {
return this.lineBox.getBottomPen().getOwnLineColor();
}
public void setBottomBorderColor(Color bottomBorderColor) {
this.lineBox.getBottomPen().setLineColor(bottomBorderColor);
}
public int getBottomPadding() {
return this.lineBox.getBottomPadding().intValue();
}
public Integer getOwnBottomPadding() {
return this.lineBox.getOwnBottomPadding();
}
public void setBottomPadding(int bottomPadding) {
this.lineBox.setBottomPadding(bottomPadding);
}
public void setBottomPadding(Integer bottomPadding) {
this.lineBox.setBottomPadding(bottomPadding);
}
public byte getRightBorder() {
return JRPenUtil.getPenFromLinePen((JRPen)this.lineBox.getRightPen());
}
public Byte getOwnRightBorder() {
return JRPenUtil.getOwnPenFromLinePen((JRPen)this.lineBox.getRightPen());
}
public void setRightBorder(byte rightBorder) {
JRPenUtil.setLinePenFromPen(rightBorder, (JRPen)this.lineBox.getRightPen());
}
public void setRightBorder(Byte rightBorder) {
JRPenUtil.setLinePenFromPen(rightBorder, (JRPen)this.lineBox.getRightPen());
}
public Color getRightBorderColor() {
return this.lineBox.getRightPen().getLineColor();
}
public Color getOwnRightBorderColor() {
return this.lineBox.getRightPen().getOwnLineColor();
}
public void setRightBorderColor(Color rightBorderColor) {
this.lineBox.getRightPen().setLineColor(rightBorderColor);
}
public int getRightPadding() {
return this.lineBox.getRightPadding().intValue();
}
public Integer getOwnRightPadding() {
return this.lineBox.getOwnRightPadding();
}
public void setRightPadding(int rightPadding) {
this.lineBox.setRightPadding(rightPadding);
}
public void setRightPadding(Integer rightPadding) {
this.lineBox.setRightPadding(rightPadding);
}
public String getLinkType() {
return this.linkType;
}
public void setLinkType(String type) {
Object old = this.linkType;
this.linkType = type;
getEventSupport().firePropertyChange("linkType", old, this.linkType);
}
public JRHyperlinkParameter[] getHyperlinkParameters() {
JRHyperlinkParameter[] parameters;
if (this.hyperlinkParameters.isEmpty()) {
parameters = null;
} else {
parameters = new JRHyperlinkParameter[this.hyperlinkParameters.size()];
this.hyperlinkParameters.toArray((Object[])parameters);
}
return parameters;
}
public List getHyperlinkParametersList() {
return this.hyperlinkParameters;
}
public void addHyperlinkParameter(JRHyperlinkParameter parameter) {
this.hyperlinkParameters.add(parameter);
getEventSupport().fireCollectionElementAddedEvent("hyperlinkParameters", parameter, this.hyperlinkParameters.size() - 1);
}
public void removeHyperlinkParameter(JRHyperlinkParameter parameter) {
int idx = this.hyperlinkParameters.indexOf(parameter);
if (idx >= 0) {
this.hyperlinkParameters.remove(idx);
getEventSupport().fireCollectionElementRemovedEvent("hyperlinkParameters", parameter, idx);
}
}
public void removeHyperlinkParameter(String parameterName) {
for (ListIterator it = this.hyperlinkParameters.listIterator(); it.hasNext(); ) {
JRHyperlinkParameter parameter = it.next();
if (parameter.getName() != null && parameter.getName().equals(parameterName)) {
it.remove();
getEventSupport().fireCollectionElementRemovedEvent("hyperlinkParameters", parameter, it.nextIndex());
}
}
}
protected void normalizeLinkType() {
if (this.linkType == null)
this.linkType = JRHyperlinkHelper.getLinkType(this.hyperlinkType);
this.hyperlinkType = 0;
}
public JRExpression getHyperlinkTooltipExpression() {
return this.hyperlinkTooltipExpression;
}
public void setHyperlinkTooltipExpression(JRExpression hyperlinkTooltipExpression) {
Object old = this.hyperlinkTooltipExpression;
this.hyperlinkTooltipExpression = hyperlinkTooltipExpression;
getEventSupport().firePropertyChange("hyperlinkTooltipExpression", old, this.hyperlinkTooltipExpression);
}
public Color getDefaultLineColor() {
return getForecolor();
}
public Object clone() {
JRDesignChart clone = (JRDesignChart)super.clone();
if (this.hyperlinkParameters != null) {
clone.hyperlinkParameters = new ArrayList(this.hyperlinkParameters.size());
for (int i = 0; i < this.hyperlinkParameters.size(); i++)
clone.hyperlinkParameters.add(((JRHyperlinkParameter)this.hyperlinkParameters.get(i)).clone());
}
if (this.titleExpression != null)
clone.titleExpression = (JRExpression)this.titleExpression.clone();
if (this.subtitleExpression != null)
clone.subtitleExpression = (JRExpression)this.subtitleExpression.clone();
if (this.anchorNameExpression != null)
clone.anchorNameExpression = (JRExpression)this.anchorNameExpression.clone();
if (this.hyperlinkReferenceExpression != null)
clone.hyperlinkReferenceExpression = (JRExpression)this.hyperlinkReferenceExpression.clone();
if (this.hyperlinkAnchorExpression != null)
clone.hyperlinkAnchorExpression = (JRExpression)this.hyperlinkAnchorExpression.clone();
if (this.hyperlinkPageExpression != null)
clone.hyperlinkPageExpression = (JRExpression)this.hyperlinkPageExpression.clone();
if (this.hyperlinkTooltipExpression != null)
clone.hyperlinkTooltipExpression = (JRExpression)this.hyperlinkTooltipExpression.clone();
if (this.dataset != null)
clone.dataset = (JRChartDataset)this.dataset.clone();
if (this.plot != null)
clone.plot = (JRChartPlot)this.plot.clone(clone);
return clone;
}
private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {
in.defaultReadObject();
if (this.lineBox == null) {
this.lineBox = (JRLineBox)new JRBaseLineBox((JRBoxContainer)this);
JRBoxUtil.setToBox(this.border, this.topBorder, this.leftBorder, this.bottomBorder, this.rightBorder, this.borderColor, this.topBorderColor, this.leftBorderColor, this.bottomBorderColor, this.rightBorderColor, this.padding, this.topPadding, this.leftPadding, this.bottomPadding, this.rightPadding, this.lineBox);
this.border = null;
this.topBorder = null;
this.leftBorder = null;
this.bottomBorder = null;
this.rightBorder = null;
this.borderColor = null;
this.topBorderColor = null;
this.leftBorderColor = null;
this.bottomBorderColor = null;
this.rightBorderColor = null;
this.padding = null;
this.topPadding = null;
this.leftPadding = null;
this.bottomPadding = null;
this.rightPadding = null;
}
normalizeLinkType();
}
}