/* * JasperReports - Free Java Reporting Library. * Copyright (C) 2001 - 2009 Jaspersoft Corporation. All rights reserved. * http://www.jaspersoft.com * * Unless you have purchased a commercial license agreement from Jaspersoft, * the following license terms apply: * * This program is part of JasperReports. * * JasperReports is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * JasperReports is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with JasperReports. If not, see <http://www.gnu.org/licenses/>. */ package net.sf.jasperreports.engine.base; import java.awt.Color; import java.io.IOException; import java.io.ObjectInputStream; import net.sf.jasperreports.engine.JRBox; import net.sf.jasperreports.engine.JRCommonText; import net.sf.jasperreports.engine.JRConstants; import net.sf.jasperreports.engine.JRFont; import net.sf.jasperreports.engine.JRLineBox; import net.sf.jasperreports.engine.JRReportFont; import net.sf.jasperreports.engine.JRTextElement; import net.sf.jasperreports.engine.type.HorizontalAlignEnum; import net.sf.jasperreports.engine.type.LineSpacingEnum; import net.sf.jasperreports.engine.type.ModeEnum; import net.sf.jasperreports.engine.type.RotationEnum; import net.sf.jasperreports.engine.type.VerticalAlignEnum; 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; /** * This class provides functionality common to text elements. It provides implementation for the methods described * in <tt>JRTextElement</tt>. * @author Teodor Danciu (teodord@users.sourceforge.net) * @version $Id: JRBaseTextElement.java 3715 2010-04-08 18:08:49Z teodord $ */ public abstract class JRBaseTextElement extends JRBaseElement implements JRTextElement { /** * */ private static final long serialVersionUID = JRConstants.SERIAL_VERSION_UID; /** * */ protected HorizontalAlignEnum horizontalAlignmentValue; protected VerticalAlignEnum verticalAlignmentValue; protected RotationEnum rotationValue; protected LineSpacingEnum lineSpacingValue; protected String markup; /** * */ protected JRLineBox lineBox = null; protected JRReportFont reportFont = null; protected String fontName = null; protected Boolean isBold = null; protected Boolean isItalic = null; protected Boolean isUnderline = null; protected Boolean isStrikeThrough = null; protected Integer fontSize = null; protected String pdfFontName = null; protected String pdfEncoding = null; protected Boolean isPdfEmbedded = null; /** * Initializes properties that are specific to text elements. Common properties are initialized by its * parent constructor. * @param textElement an element whose properties are copied to this element. Usually it is a * {@link net.sf.jasperreports.engine.design.JRDesignTextElement} that must be transformed into an * <tt>JRBaseTextElement</tt> at compile time. * @param factory a factory used in the compile process */ protected JRBaseTextElement(JRTextElement textElement, JRBaseObjectFactory factory) { super(textElement, factory); horizontalAlignmentValue = textElement.getOwnHorizontalAlignmentValue(); verticalAlignmentValue = textElement.getOwnVerticalAlignmentValue(); rotationValue = textElement.getOwnRotationValue(); lineSpacingValue = textElement.getOwnLineSpacingValue(); markup = textElement.getOwnMarkup(); lineBox = textElement.getLineBox().clone(this); reportFont = factory.getReportFont(textElement.getReportFont()); fontName = textElement.getOwnFontName(); isBold = textElement.isOwnBold(); isItalic = textElement.isOwnItalic(); isUnderline = textElement.isOwnUnderline(); isStrikeThrough = textElement.isOwnStrikeThrough(); fontSize = textElement.getOwnFontSize(); pdfFontName = textElement.getOwnPdfFontName(); pdfEncoding = textElement.getOwnPdfEncoding(); isPdfEmbedded = textElement.isOwnPdfEmbedded(); } /** * */ protected JRFont getBaseFont() { if (reportFont != null) { return reportFont; } if (defaultStyleProvider != null) { return defaultStyleProvider.getDefaultFont(); } return null; } /** * @deprecated Replaced by {@link #getHorizontalAlignment()}. */ public byte getTextAlignment() { return getHorizontalAlignment(); } /** * @deprecated Replaced by {@link #setHorizontalAlignment(byte)}. */ public void setTextAlignment(byte horizontalAlignment) { setHorizontalAlignment(new Byte(horizontalAlignment)); } /** * @deprecated Replaced by {@link #getHorizontalAlignmentValue()}. */ public byte getHorizontalAlignment() { return getHorizontalAlignmentValue().getValue(); } /** * @deprecated Replaced by {@link #getOwnHorizontalAlignmentValue()}. */ public Byte getOwnHorizontalAlignment() { return getOwnHorizontalAlignmentValue() == null ? null : getOwnHorizontalAlignmentValue().getValueByte(); } /** * */ public HorizontalAlignEnum getHorizontalAlignmentValue() { return JRStyleResolver.getHorizontalAlignmentValue(this); } public HorizontalAlignEnum getOwnHorizontalAlignmentValue() { return horizontalAlignmentValue; } /** * @deprecated Replaced by {@link #setHorizontalAlignment(HorizontalAlignEnum)}. */ public void setHorizontalAlignment(byte horizontalAlignment) { setHorizontalAlignment(HorizontalAlignEnum.getByValue(horizontalAlignment)); } /** * @deprecated Replaced by {@link #setHorizontalAlignment(HorizontalAlignEnum)}. */ public void setHorizontalAlignment(Byte horizontalAlignment) { setHorizontalAlignment(HorizontalAlignEnum.getByValue(horizontalAlignment)); } /** * */ public void setHorizontalAlignment(HorizontalAlignEnum horizontalAlignmentValue) { Object old = this.horizontalAlignmentValue; this.horizontalAlignmentValue = horizontalAlignmentValue; getEventSupport().firePropertyChange(JRBaseStyle.PROPERTY_HORIZONTAL_ALIGNMENT, old, this.horizontalAlignmentValue); } /** * @deprecated Replaced by {@link #getVerticalAlignmentValue()}. */ public byte getVerticalAlignment() { return getVerticalAlignmentValue().getValue(); } /** * @deprecated Replaced by {@link #getOwnVerticalAlignmentValue()}. */ public Byte getOwnVerticalAlignment() { return getOwnVerticalAlignmentValue() == null ? null : getOwnVerticalAlignmentValue().getValueByte(); } public VerticalAlignEnum getVerticalAlignmentValue() { return JRStyleResolver.getVerticalAlignmentValue(this); } public VerticalAlignEnum getOwnVerticalAlignmentValue() { return verticalAlignmentValue; } /** * @deprecated Replaced by {@link #setVerticalAlignment(VerticalAlignEnum)}. */ public void setVerticalAlignment(byte verticalAlignment) { setVerticalAlignment(VerticalAlignEnum.getByValue(verticalAlignment)); } /** * @deprecated Replaced by {@link #setVerticalAlignment(VerticalAlignEnum)}. */ public void setVerticalAlignment(Byte verticalAlignment) { setVerticalAlignment(VerticalAlignEnum.getByValue(verticalAlignment)); } /** * */ public void setVerticalAlignment(VerticalAlignEnum verticalAlignmentValue) { Object old = this.verticalAlignmentValue; this.verticalAlignmentValue = verticalAlignmentValue; getEventSupport().firePropertyChange(JRBaseStyle.PROPERTY_VERTICAL_ALIGNMENT, old, this.verticalAlignmentValue); } /** * @deprecated Replaced by {@link #getRotationValue()}. */ public byte getRotation() { return getRotationValue().getValue(); } /** * @deprecated Replaced by {@link #getOwnRotationValue()}. */ public Byte getOwnRotation() { return getOwnRotationValue() == null? null : getOwnRotationValue().getValueByte(); } /** * @deprecated Replaced by {@link #setRotation(RotationEnum)}. */ public void setRotation(byte rotation) { setRotation(RotationEnum.getByValue(rotation)); } /** * @deprecated Replaced by {@link #setRotation(RotationEnum)}. */ public void setRotation(Byte rotation) { setRotation(RotationEnum.getByValue(rotation)); } /** * */ public RotationEnum getRotationValue() { return JRStyleResolver.getRotationValue(this); } /** * */ public RotationEnum getOwnRotationValue() { return this.rotationValue; } /** * */ public void setRotation(RotationEnum rotationValue) { Object old = this.rotationValue; this.rotationValue = rotationValue; getEventSupport().firePropertyChange(JRBaseStyle.PROPERTY_ROTATION, old, this.rotationValue); } /** * @deprecated Replaced by {@link #getLineSpacingValue()}. */ public byte getLineSpacing() { return getLineSpacingValue().getValue(); } /** * @deprecated Replaced by {@link #getOwnLineSpacingValue()}. */ public Byte getOwnLineSpacing() { return getOwnLineSpacingValue() == null? null : getOwnLineSpacingValue().getValueByte(); } /** * @deprecated Replaced by {@link #setLineSpacing(LineSpacingEnum)}. */ public void setLineSpacing(byte lineSpacing) { setLineSpacing(LineSpacingEnum.getByValue(lineSpacing)); } /** * @deprecated Replaced by {@link #setLineSpacing(LineSpacingEnum)}. */ public void setLineSpacing(Byte lineSpacing) { setLineSpacing(LineSpacingEnum.getByValue(lineSpacing)); } /** * */ public LineSpacingEnum getLineSpacingValue() { return JRStyleResolver.getLineSpacingValue(this); } /** * */ public LineSpacingEnum getOwnLineSpacingValue() { return this.lineSpacingValue; } /** * */ public void setLineSpacing(LineSpacingEnum lineSpacingValue) { Object old = this.lineSpacingValue; this.lineSpacingValue = lineSpacingValue; getEventSupport().firePropertyChange(JRBaseStyle.PROPERTY_LINE_SPACING, old, this.lineSpacingValue); } /** * @deprecated Replaced by {@link #getMarkup()} */ public boolean isStyledText() { return JRCommonText.MARKUP_STYLED_TEXT.equals(getMarkup()); } /** * @deprecated Replaced by {@link #getOwnMarkup()} */ public Boolean isOwnStyledText() { String mkp = getOwnMarkup(); return JRCommonText.MARKUP_STYLED_TEXT.equals(mkp) ? Boolean.TRUE : (mkp == null ? null : Boolean.FALSE); } /** * @deprecated Replaced by {@link #setMarkup(String)} */ public void setStyledText(boolean isStyledText) { setStyledText(isStyledText ? Boolean.TRUE : Boolean.FALSE); } /** * @deprecated Replaced by {@link #setMarkup(String)} */ public void setStyledText(Boolean isStyledText) { if (isStyledText == null) { setMarkup(null); } else { setMarkup(isStyledText.booleanValue() ? JRCommonText.MARKUP_STYLED_TEXT : JRCommonText.MARKUP_NONE); } } /** * */ public String getMarkup() { return JRStyleResolver.getMarkup(this); } public String getOwnMarkup() { return markup; } /** * */ public void setMarkup(String markup) { Object old = this.markup; this.markup = markup; getEventSupport().firePropertyChange(JRBaseStyle.PROPERTY_MARKUP, old, this.markup); } /** * @deprecated Replaced by {@link #getLineBox()} */ public JRBox getBox() { return new LineBoxWrapper(getLineBox()); } /** * */ public JRLineBox getLineBox() { return lineBox; } /** * @deprecated */ public JRFont getFont() { return this; } /** * */ public ModeEnum getModeValue() { return JRStyleResolver.getMode(this, ModeEnum.TRANSPARENT); } /** * @deprecated Replaced by {@link #getBox()} */ public byte getBorder() { return JRPenUtil.getPenFromLinePen(lineBox.getPen()); } /** * @deprecated Replaced by {@link #getBox()} */ public Byte getOwnBorder() { return JRPenUtil.getOwnPenFromLinePen(lineBox.getPen()); } /** * @deprecated Replaced by {@link #getBox()} */ public void setBorder(byte border) { JRPenUtil.setLinePenFromPen(border, lineBox.getPen()); } /** * @deprecated Replaced by {@link #getBox()} */ public void setBorder(Byte border) { JRPenUtil.setLinePenFromPen(border, lineBox.getPen()); } /** * @deprecated Replaced by {@link #getBox()} */ public Color getBorderColor() { return lineBox.getPen().getLineColor(); } /** * @deprecated Replaced by {@link #getBox()} */ public Color getOwnBorderColor() { return lineBox.getPen().getOwnLineColor(); } /** * @deprecated Replaced by {@link #getBox()} */ public void setBorderColor(Color borderColor) { lineBox.getPen().setLineColor(borderColor); } /** * @deprecated Replaced by {@link #getBox()} */ public int getPadding() { return lineBox.getPadding().intValue(); } /** * @deprecated Replaced by {@link #getBox()} */ public Integer getOwnPadding() { return lineBox.getOwnPadding(); } /** * @deprecated Replaced by {@link #getBox()} */ public void setPadding(int padding) { lineBox.setPadding(padding); } /** * @deprecated Replaced by {@link #getBox()} */ public void setPadding(Integer padding) { lineBox.setPadding(padding); } /** * @deprecated Replaced by {@link #getBox()} */ public byte getTopBorder() { return JRPenUtil.getPenFromLinePen(lineBox.getTopPen()); } /** * @deprecated Replaced by {@link #getBox()} */ public Byte getOwnTopBorder() { return JRPenUtil.getOwnPenFromLinePen(lineBox.getTopPen()); } /** * @deprecated Replaced by {@link #getBox()} */ public void setTopBorder(byte topBorder) { JRPenUtil.setLinePenFromPen(topBorder, lineBox.getTopPen()); } /** * @deprecated Replaced by {@link #getBox()} */ public void setTopBorder(Byte topBorder) { JRPenUtil.setLinePenFromPen(topBorder, lineBox.getTopPen()); } /** * @deprecated Replaced by {@link #getBox()} */ public Color getTopBorderColor() { return lineBox.getTopPen().getLineColor(); } /** * @deprecated Replaced by {@link #getBox()} */ public Color getOwnTopBorderColor() { return lineBox.getTopPen().getOwnLineColor(); } /** * @deprecated Replaced by {@link #getBox()} */ public void setTopBorderColor(Color topBorderColor) { lineBox.getTopPen().setLineColor(topBorderColor); } /** * @deprecated Replaced by {@link #getBox()} */ public int getTopPadding() { return lineBox.getTopPadding().intValue(); } /** * @deprecated Replaced by {@link #getBox()} */ public Integer getOwnTopPadding() { return lineBox.getOwnTopPadding(); } /** * @deprecated Replaced by {@link #getBox()} */ public void setTopPadding(int topPadding) { lineBox.setTopPadding(topPadding); } /** * @deprecated Replaced by {@link #getBox()} */ public void setTopPadding(Integer topPadding) { lineBox.setTopPadding(topPadding); } /** * @deprecated Replaced by {@link #getBox()} */ public byte getLeftBorder() { return JRPenUtil.getPenFromLinePen(lineBox.getLeftPen()); } /** * @deprecated Replaced by {@link #getBox()} */ public Byte getOwnLeftBorder() { return JRPenUtil.getOwnPenFromLinePen(lineBox.getLeftPen()); } /** * @deprecated Replaced by {@link #getBox()} */ public void setLeftBorder(byte leftBorder) { JRPenUtil.setLinePenFromPen(leftBorder, lineBox.getLeftPen()); } /** * @deprecated Replaced by {@link #getBox()} */ public void setLeftBorder(Byte leftBorder) { JRPenUtil.setLinePenFromPen(leftBorder, lineBox.getLeftPen()); } /** * @deprecated Replaced by {@link #getBox()} */ public Color getLeftBorderColor() { return lineBox.getLeftPen().getLineColor(); } /** * @deprecated Replaced by {@link #getBox()} */ public Color getOwnLeftBorderColor() { return lineBox.getLeftPen().getOwnLineColor(); } /** * @deprecated Replaced by {@link #getBox()} */ public void setLeftBorderColor(Color leftBorderColor) { lineBox.getLeftPen().setLineColor(leftBorderColor); } /** * @deprecated Replaced by {@link #getBox()} */ public int getLeftPadding() { return lineBox.getLeftPadding().intValue(); } /** * @deprecated Replaced by {@link #getBox()} */ public Integer getOwnLeftPadding() { return lineBox.getOwnLeftPadding(); } /** * @deprecated Replaced by {@link #getBox()} */ public void setLeftPadding(int leftPadding) { lineBox.setLeftPadding(leftPadding); } /** * @deprecated Replaced by {@link #getBox()} */ public void setLeftPadding(Integer leftPadding) { lineBox.setLeftPadding(leftPadding); } /** * @deprecated Replaced by {@link #getBox()} */ public byte getBottomBorder() { return JRPenUtil.getPenFromLinePen(lineBox.getBottomPen()); } /** * @deprecated Replaced by {@link #getBox()} */ public Byte getOwnBottomBorder() { return JRPenUtil.getOwnPenFromLinePen(lineBox.getBottomPen()); } /** * @deprecated Replaced by {@link #getBox()} */ public void setBottomBorder(byte bottomBorder) { JRPenUtil.setLinePenFromPen(bottomBorder, lineBox.getBottomPen()); } /** * @deprecated Replaced by {@link #getBox()} */ public void setBottomBorder(Byte bottomBorder) { JRPenUtil.setLinePenFromPen(bottomBorder, lineBox.getBottomPen()); } /** * @deprecated Replaced by {@link #getBox()} */ public Color getBottomBorderColor() { return lineBox.getBottomPen().getLineColor(); } /** * @deprecated Replaced by {@link #getBox()} */ public Color getOwnBottomBorderColor() { return lineBox.getBottomPen().getOwnLineColor(); } /** * @deprecated Replaced by {@link #getBox()} */ public void setBottomBorderColor(Color bottomBorderColor) { lineBox.getBottomPen().setLineColor(bottomBorderColor); } /** * @deprecated Replaced by {@link #getBox()} */ public int getBottomPadding() { return lineBox.getBottomPadding().intValue(); } /** * @deprecated Replaced by {@link #getBox()} */ public Integer getOwnBottomPadding() { return lineBox.getOwnBottomPadding(); } /** * @deprecated Replaced by {@link #getBox()} */ public void setBottomPadding(int bottomPadding) { lineBox.setBottomPadding(bottomPadding); } /** * @deprecated Replaced by {@link #getBox()} */ public void setBottomPadding(Integer bottomPadding) { lineBox.setBottomPadding(bottomPadding); } /** * @deprecated Replaced by {@link #getBox()} */ public byte getRightBorder() { return JRPenUtil.getPenFromLinePen(lineBox.getRightPen()); } /** * @deprecated Replaced by {@link #getBox()} */ public Byte getOwnRightBorder() { return JRPenUtil.getOwnPenFromLinePen(lineBox.getRightPen()); } /** * @deprecated Replaced by {@link #getBox()} */ public void setRightBorder(byte rightBorder) { JRPenUtil.setLinePenFromPen(rightBorder, lineBox.getRightPen()); } /** * @deprecated Replaced by {@link #getBox()} */ public void setRightBorder(Byte rightBorder) { JRPenUtil.setLinePenFromPen(rightBorder, lineBox.getRightPen()); } /** * @deprecated Replaced by {@link #getBox()} */ public Color getRightBorderColor() { return lineBox.getRightPen().getLineColor(); } /** * @deprecated Replaced by {@link #getBox()} */ public Color getOwnRightBorderColor() { return lineBox.getRightPen().getOwnLineColor(); } /** * @deprecated Replaced by {@link #getBox()} */ public void setRightBorderColor(Color rightBorderColor) { lineBox.getRightPen().setLineColor(rightBorderColor); } /** * @deprecated Replaced by {@link #getBox()} */ public int getRightPadding() { return lineBox.getRightPadding().intValue(); } /** * @deprecated Replaced by {@link #getBox()} */ public Integer getOwnRightPadding() { return lineBox.getOwnRightPadding(); } /** * @deprecated Replaced by {@link #getBox()} */ public void setRightPadding(int rightPadding) { lineBox.setRightPadding(rightPadding); } /** * @deprecated Replaced by {@link #getBox()} */ public void setRightPadding(Integer rightPadding) { lineBox.setRightPadding(rightPadding); } /** * */ public JRReportFont getReportFont() { return reportFont; } /** * */ public void setReportFont(JRReportFont reportFont) { Object old = this.reportFont; this.reportFont = reportFont; getEventSupport().firePropertyChange(JRBaseFont.PROPERTY_REPORT_FONT, old, this.reportFont); } /** * */ public String getFontName() { return JRStyleResolver.getFontName(this); } /** * */ public String getOwnFontName() { return fontName; } /** * */ public void setFontName(String fontName) { Object old = this.fontName; this.fontName = fontName; getEventSupport().firePropertyChange(JRBaseStyle.PROPERTY_FONT_NAME, old, this.fontName); } /** * */ public boolean isBold() { return JRStyleResolver.isBold(this); } /** * */ public Boolean isOwnBold() { return isBold; } /** * */ public void setBold(boolean isBold) { setBold(isBold ? Boolean.TRUE : Boolean.FALSE); } /** * Alternative setBold method which allows also to reset * the "own" isBold property. */ public void setBold(Boolean isBold) { Object old = this.isBold; this.isBold = isBold; getEventSupport().firePropertyChange(JRBaseStyle.PROPERTY_BOLD, old, this.isBold); } /** * */ public boolean isItalic() { return JRStyleResolver.isItalic(this); } /** * */ public Boolean isOwnItalic() { return isItalic; } /** * */ public void setItalic(boolean isItalic) { setItalic(isItalic ? Boolean.TRUE : Boolean.FALSE); } /** * Alternative setItalic method which allows also to reset * the "own" isItalic property. */ public void setItalic(Boolean isItalic) { Object old = this.isItalic; this.isItalic = isItalic; getEventSupport().firePropertyChange(JRBaseStyle.PROPERTY_ITALIC, old, this.isItalic); } /** * */ public boolean isUnderline() { return JRStyleResolver.isUnderline(this); } /** * */ public Boolean isOwnUnderline() { return isUnderline; } /** * */ public void setUnderline(boolean isUnderline) { setUnderline(isUnderline ? Boolean.TRUE : Boolean.FALSE); } /** * Alternative setUnderline method which allows also to reset * the "own" isUnderline property. */ public void setUnderline(Boolean isUnderline) { Object old = this.isUnderline; this.isUnderline = isUnderline; getEventSupport().firePropertyChange(JRBaseStyle.PROPERTY_UNDERLINE, old, this.isUnderline); } /** * */ public boolean isStrikeThrough() { return JRStyleResolver.isStrikeThrough(this); } /** * */ public Boolean isOwnStrikeThrough() { return isStrikeThrough; } /** * */ public void setStrikeThrough(boolean isStrikeThrough) { setStrikeThrough(isStrikeThrough ? Boolean.TRUE : Boolean.FALSE); } /** * Alternative setStrikeThrough method which allows also to reset * the "own" isStrikeThrough property. */ public void setStrikeThrough(Boolean isStrikeThrough) { Object old = this.isStrikeThrough; this.isStrikeThrough = isStrikeThrough; getEventSupport().firePropertyChange(JRBaseStyle.PROPERTY_STRIKE_THROUGH, old, this.isStrikeThrough); } /** * */ public int getFontSize() { return JRStyleResolver.getFontSize(this); } /** * */ public Integer getOwnFontSize() { return fontSize; } /** * */ public void setFontSize(int fontSize) { setFontSize(Integer.valueOf(fontSize)); } /** * Alternative setSize method which allows also to reset * the "own" size property. */ public void setFontSize(Integer fontSize) { Object old = this.fontSize; this.fontSize = fontSize; getEventSupport().firePropertyChange(JRBaseStyle.PROPERTY_FONT_SIZE, old, this.fontSize); } /** * @deprecated Replaced by {@link #getFontSize()}. */ public int getSize() { return getFontSize(); } /** * @deprecated Replaced by {@link #getOwnFontSize()}. */ public Integer getOwnSize() { return getOwnFontSize(); } /** * @deprecated Replaced by {@link #setFontSize(int)}. */ public void setSize(int size) { setFontSize(size); } /** * @deprecated Replaced by {@link #setFontSize(Integer)}. */ public void setSize(Integer size) { setFontSize(size); } /** * */ public String getPdfFontName() { return JRStyleResolver.getPdfFontName(this); } /** * */ public String getOwnPdfFontName() { return pdfFontName; } /** * */ public void setPdfFontName(String pdfFontName) { Object old = this.pdfFontName; this.pdfFontName = pdfFontName; getEventSupport().firePropertyChange(JRBaseStyle.PROPERTY_PDF_FONT_NAME, old, this.pdfFontName); } /** * */ public String getPdfEncoding() { return JRStyleResolver.getPdfEncoding(this); } /** * */ public String getOwnPdfEncoding() { return pdfEncoding; } /** * */ public void setPdfEncoding(String pdfEncoding) { Object old = this.pdfEncoding; this.pdfEncoding = pdfEncoding; getEventSupport().firePropertyChange(JRBaseStyle.PROPERTY_PDF_ENCODING, old, this.pdfEncoding); } /** * */ public boolean isPdfEmbedded() { return JRStyleResolver.isPdfEmbedded(this); } /** * */ public Boolean isOwnPdfEmbedded() { return isPdfEmbedded; } /** * */ public void setPdfEmbedded(boolean isPdfEmbedded) { setPdfEmbedded(isPdfEmbedded ? Boolean.TRUE : Boolean.FALSE); } /** * Alternative setPdfEmbedded method which allows also to reset * the "own" isPdfEmbedded property. */ public void setPdfEmbedded(Boolean isPdfEmbedded) { Object old = this.isPdfEmbedded; this.isPdfEmbedded = isPdfEmbedded; getEventSupport().firePropertyChange(JRBaseStyle.PROPERTY_PDF_EMBEDDED, old, this.isPdfEmbedded); } /** * */ public Color getDefaultLineColor() { return getForecolor(); } /** * */ public Object clone() { JRBaseTextElement clone = (JRBaseTextElement)super.clone(); clone.lineBox = lineBox.clone(clone); return clone; } /* * These fields are only for serialization backward compatibility. */ private int PSEUDO_SERIAL_VERSION_UID = JRConstants.PSEUDO_SERIAL_VERSION_UID; //NOPMD /** * @deprecated */ private Byte horizontalAlignment; /** * @deprecated */ private Byte verticalAlignment; /** * @deprecated */ private Byte rotation; /** * @deprecated */ private Byte lineSpacing; /** * @deprecated */ private Byte border = null; /** * @deprecated */ private Byte topBorder = null; /** * @deprecated */ private Byte leftBorder = null; /** * @deprecated */ private Byte bottomBorder = null; /** * @deprecated */ private Byte rightBorder = null; /** * @deprecated */ private Color borderColor = null; /** * @deprecated */ private Color topBorderColor = null; /** * @deprecated */ private Color leftBorderColor = null; /** * @deprecated */ private Color bottomBorderColor = null; /** * @deprecated */ private Color rightBorderColor = null; /** * @deprecated */ private Integer padding = null; /** * @deprecated */ private Integer topPadding = null; /** * @deprecated */ private Integer leftPadding = null; /** * @deprecated */ private Integer bottomPadding = null; /** * @deprecated */ private Integer rightPadding = null; /** * @deprecated */ private Boolean isStyledText = null; private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException { in.defaultReadObject(); if (PSEUDO_SERIAL_VERSION_UID < JRConstants.PSEUDO_SERIAL_VERSION_UID_3_7_2) { horizontalAlignmentValue = HorizontalAlignEnum.getByValue(horizontalAlignment); verticalAlignmentValue = VerticalAlignEnum.getByValue(verticalAlignment); rotationValue = RotationEnum.getByValue(rotation); lineSpacingValue = LineSpacingEnum.getByValue(lineSpacing); horizontalAlignment = null; verticalAlignment = null; rotation = null; lineSpacing = null; } if (lineBox == null) { lineBox = new JRBaseLineBox(this); JRBoxUtil.setToBox( border, topBorder, leftBorder, bottomBorder, rightBorder, borderColor, topBorderColor, leftBorderColor, bottomBorderColor, rightBorderColor, padding, topPadding, leftPadding, bottomPadding, rightPadding, lineBox ); border = null; topBorder = null; leftBorder = null; bottomBorder = null; rightBorder = null; borderColor = null; topBorderColor = null; leftBorderColor = null; bottomBorderColor = null; rightBorderColor = null; padding = null; topPadding = null; leftPadding = null; bottomPadding = null; rightPadding = null; } if (isStyledText != null) { markup = isStyledText.booleanValue() ? JRCommonText.MARKUP_STYLED_TEXT : JRCommonText.MARKUP_NONE; isStyledText = null; } } }