package net.sf.jasperreports.crosstabs.base; import java.awt.Color; import java.io.IOException; import java.io.ObjectInputStream; import java.io.Serializable; import net.sf.jasperreports.crosstabs.JRCellContents; import net.sf.jasperreports.engine.JRBox; import net.sf.jasperreports.engine.JRBoxContainer; import net.sf.jasperreports.engine.JRDefaultStyleProvider; import net.sf.jasperreports.engine.JRElementGroup; import net.sf.jasperreports.engine.JRLineBox; import net.sf.jasperreports.engine.JRStyle; import net.sf.jasperreports.engine.base.JRBaseElementGroup; import net.sf.jasperreports.engine.base.JRBaseLineBox; import net.sf.jasperreports.engine.base.JRBaseObjectFactory; import net.sf.jasperreports.engine.util.JRBoxUtil; import net.sf.jasperreports.engine.util.LineBoxWrapper; public class JRBaseCellContents extends JRBaseElementGroup implements JRCellContents, Serializable { private static final long serialVersionUID = 10200L; protected JRDefaultStyleProvider defaultStyleProvider; protected JRStyle style; protected String styleNameReference; protected Byte mode; protected Color backcolor; protected JRLineBox lineBox; protected int width; protected int height; private JRBox box; public JRBaseCellContents(JRCellContents cell, JRBaseObjectFactory factory) { super((JRElementGroup)cell, factory); this.box = null; this.defaultStyleProvider = factory.getDefaultStyleProvider(); this.style = factory.getStyle(cell.getStyle()); this.styleNameReference = cell.getStyleNameReference(); this.mode = cell.getMode(); this.backcolor = cell.getBackcolor(); this.lineBox = cell.getLineBox().clone((JRBoxContainer)this); this.width = cell.getWidth(); this.height = cell.getHeight(); } public Color getBackcolor() { return this.backcolor; } public JRBox getBox() { return (JRBox)new LineBoxWrapper(getLineBox()); } public JRLineBox getLineBox() { return this.lineBox; } public int getWidth() { return this.width; } public int getHeight() { return this.height; } public JRDefaultStyleProvider getDefaultStyleProvider() { return this.defaultStyleProvider; } public JRStyle getStyle() { return this.style; } public Byte getMode() { return this.mode; } public String getStyleNameReference() { return this.styleNameReference; } public Color getDefaultLineColor() { return Color.black; } private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException { in.defaultReadObject(); if (this.lineBox == null) { this.lineBox = (JRLineBox)new JRBaseLineBox((JRBoxContainer)this); JRBoxUtil.setBoxToLineBox(this.box, this.lineBox); this.box = null; } } }