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,756 @@
package net.sf.jasperreports.engine.fill;
import java.awt.Color;
import java.io.IOException;
import java.io.ObjectInputStream;
import net.sf.jasperreports.engine.JRAlignment;
import net.sf.jasperreports.engine.JRBox;
import net.sf.jasperreports.engine.JRBoxContainer;
import net.sf.jasperreports.engine.JRCommonText;
import net.sf.jasperreports.engine.JRDefaultStyleProvider;
import net.sf.jasperreports.engine.JRElement;
import net.sf.jasperreports.engine.JRFont;
import net.sf.jasperreports.engine.JRHyperlinkHelper;
import net.sf.jasperreports.engine.JRLineBox;
import net.sf.jasperreports.engine.JROrigin;
import net.sf.jasperreports.engine.JRPen;
import net.sf.jasperreports.engine.JRReportFont;
import net.sf.jasperreports.engine.JRRuntimeException;
import net.sf.jasperreports.engine.JRStaticText;
import net.sf.jasperreports.engine.JRStyle;
import net.sf.jasperreports.engine.JRTextElement;
import net.sf.jasperreports.engine.JRTextField;
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 JRTemplateText extends JRTemplateElement implements JRAlignment, JRBox, JRFont, JRCommonText {
private static final long serialVersionUID = 10200L;
private Byte horizontalAlignment = null;
private Byte verticalAlignment = null;
private Byte rotation = null;
private Byte lineSpacing = null;
private String markup = null;
private byte hyperlinkType = 0;
private String linkType;
private byte hyperlinkTarget = 1;
protected JRLineBox lineBox;
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;
protected String valueClassName;
protected String pattern;
protected String formatFactoryClass;
protected String localeCode;
protected String timeZoneId;
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;
private Boolean isStyledText;
protected JRTemplateText(JROrigin origin, JRDefaultStyleProvider defaultStyleProvider, JRStaticText staticText) {
super(origin, 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.topPadding = null;
this.leftPadding = null;
this.bottomPadding = null;
this.rightPadding = null;
this.isStyledText = null;
setStaticText(staticText);
}
protected JRTemplateText(JROrigin origin, JRDefaultStyleProvider defaultStyleProvider, JRTextField textField) {
super(origin, 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.topPadding = null;
this.leftPadding = null;
this.bottomPadding = null;
this.rightPadding = null;
this.isStyledText = null;
setTextField(textField);
}
protected void setStaticText(JRStaticText staticText) {
setTextElement((JRTextElement)staticText);
}
protected void setTextField(JRTextField textField) {
setTextElement((JRTextElement)textField);
setLinkType(textField.getLinkType());
this.hyperlinkTarget = textField.getHyperlinkTarget();
}
protected void setTextElement(JRTextElement textElement) {
setElement((JRElement)textElement);
this.lineBox = textElement.getLineBox().clone((JRBoxContainer)this);
this.reportFont = textElement.getReportFont();
this.fontName = textElement.getOwnFontName();
this.isBold = textElement.isOwnBold();
this.isItalic = textElement.isOwnItalic();
this.isUnderline = textElement.isOwnUnderline();
this.isStrikeThrough = textElement.isOwnStrikeThrough();
this.fontSize = textElement.getOwnFontSize();
this.pdfFontName = textElement.getOwnPdfFontName();
this.pdfEncoding = textElement.getOwnPdfEncoding();
this.isPdfEmbedded = textElement.isOwnPdfEmbedded();
this.horizontalAlignment = textElement.getOwnHorizontalAlignment();
this.verticalAlignment = textElement.getOwnVerticalAlignment();
this.rotation = textElement.getOwnRotation();
this.lineSpacing = textElement.getOwnLineSpacing();
this.markup = textElement.getOwnMarkup();
}
protected JRFont getBaseFont() {
if (this.reportFont != null)
return (JRFont)this.reportFont;
if (this.defaultStyleProvider != null)
return (JRFont)this.defaultStyleProvider.getDefaultFont();
return null;
}
public int getWidth() {
throw new JRRuntimeException("This method should never be called.");
}
public int getHeight() {
throw new JRRuntimeException("This method should never be called.");
}
public byte getMode() {
return JRStyleResolver.getMode(this, (byte)2);
}
public byte getTextAlignment() {
return getHorizontalAlignment();
}
public byte getHorizontalAlignment() {
return JRStyleResolver.getHorizontalAlignment(this);
}
public Byte getOwnHorizontalAlignment() {
return this.horizontalAlignment;
}
public void setHorizontalAlignment(byte horizontalAlignment) {
this.horizontalAlignment = new Byte(horizontalAlignment);
}
public void setHorizontalAlignment(Byte horizontalAlignment) {
this.horizontalAlignment = horizontalAlignment;
}
public byte getVerticalAlignment() {
return JRStyleResolver.getVerticalAlignment(this);
}
public Byte getOwnVerticalAlignment() {
return this.verticalAlignment;
}
public void setVerticalAlignment(byte verticalAlignment) {
this.verticalAlignment = new Byte(verticalAlignment);
}
public void setVerticalAlignment(Byte verticalAlignment) {
this.verticalAlignment = verticalAlignment;
}
public byte getRotation() {
return JRStyleResolver.getRotation(this);
}
public Byte getOwnRotation() {
return this.rotation;
}
public byte getLineSpacing() {
return JRStyleResolver.getLineSpacing(this);
}
public Byte getOwnLineSpacing() {
return this.lineSpacing;
}
public boolean isStyledText() {
return "styled".equals(getMarkup());
}
public Boolean isOwnStyledText() {
String mkp = getOwnMarkup();
return "styled".equals(mkp) ? Boolean.TRUE : ((mkp == null) ? null : Boolean.FALSE);
}
public String getMarkup() {
return JRStyleResolver.getMarkup(this);
}
public String getOwnMarkup() {
return this.markup;
}
public JRBox getBox() {
return (JRBox)new LineBoxWrapper(getLineBox());
}
public JRLineBox getLineBox() {
return this.lineBox;
}
public JRFont getFont() {
return this;
}
public byte getHyperlinkType() {
return JRHyperlinkHelper.getHyperlinkType(getLinkType());
}
public byte getHyperlinkTarget() {
return this.hyperlinkTarget;
}
public JRReportFont getReportFont() {
return this.reportFont;
}
public void setReportFont(JRReportFont reportFont) {
this.reportFont = reportFont;
}
public String getFontName() {
return JRStyleResolver.getFontName(this);
}
public String getOwnFontName() {
return this.fontName;
}
public void setFontName(String fontName) {
this.fontName = fontName;
}
public boolean isBold() {
return JRStyleResolver.isBold(this);
}
public Boolean isOwnBold() {
return this.isBold;
}
public void setBold(boolean isBold) {
setBold(isBold ? Boolean.TRUE : Boolean.FALSE);
}
public void setBold(Boolean isBold) {
this.isBold = isBold;
}
public boolean isItalic() {
return JRStyleResolver.isItalic(this);
}
public Boolean isOwnItalic() {
return this.isItalic;
}
public void setItalic(boolean isItalic) {
setItalic(isItalic ? Boolean.TRUE : Boolean.FALSE);
}
public void setItalic(Boolean isItalic) {
this.isItalic = isItalic;
}
public boolean isUnderline() {
return JRStyleResolver.isUnderline(this);
}
public Boolean isOwnUnderline() {
return this.isUnderline;
}
public void setUnderline(boolean isUnderline) {
setUnderline(isUnderline ? Boolean.TRUE : Boolean.FALSE);
}
public void setUnderline(Boolean isUnderline) {
this.isUnderline = isUnderline;
}
public boolean isStrikeThrough() {
return JRStyleResolver.isStrikeThrough(this);
}
public Boolean isOwnStrikeThrough() {
return this.isStrikeThrough;
}
public void setStrikeThrough(boolean isStrikeThrough) {
setStrikeThrough(isStrikeThrough ? Boolean.TRUE : Boolean.FALSE);
}
public void setStrikeThrough(Boolean isStrikeThrough) {
this.isStrikeThrough = isStrikeThrough;
}
public int getFontSize() {
return JRStyleResolver.getFontSize(this);
}
public Integer getOwnFontSize() {
return this.fontSize;
}
public void setFontSize(int fontSize) {
setFontSize(new Integer(fontSize));
}
public void setFontSize(Integer fontSize) {
this.fontSize = fontSize;
}
public int getSize() {
return getFontSize();
}
public Integer getOwnSize() {
return getOwnFontSize();
}
public void setSize(int size) {
setFontSize(size);
}
public void setSize(Integer size) {
setFontSize(size);
}
public String getPdfFontName() {
return JRStyleResolver.getPdfFontName(this);
}
public String getOwnPdfFontName() {
return this.pdfFontName;
}
public void setPdfFontName(String pdfFontName) {
this.pdfFontName = pdfFontName;
}
public String getPdfEncoding() {
return JRStyleResolver.getPdfEncoding(this);
}
public String getOwnPdfEncoding() {
return this.pdfEncoding;
}
public void setPdfEncoding(String pdfEncoding) {
this.pdfEncoding = pdfEncoding;
}
public boolean isPdfEmbedded() {
return JRStyleResolver.isPdfEmbedded(this);
}
public Boolean isOwnPdfEmbedded() {
return this.isPdfEmbedded;
}
public void setPdfEmbedded(boolean isPdfEmbedded) {
setPdfEmbedded(isPdfEmbedded ? Boolean.TRUE : Boolean.FALSE);
}
public void setPdfEmbedded(Boolean isPdfEmbedded) {
this.isPdfEmbedded = isPdfEmbedded;
}
public JRStyle getStyle() {
return this.parentStyle;
}
public String getPattern() {
return this.pattern;
}
public void setPattern(String pattern) {
this.pattern = pattern;
}
public String getValueClassName() {
return this.valueClassName;
}
public void setValueClassName(String valueClassName) {
this.valueClassName = valueClassName;
}
public String getFormatFactoryClass() {
return this.formatFactoryClass;
}
public void setFormatFactoryClass(String formatFactoryClass) {
this.formatFactoryClass = formatFactoryClass;
}
public String getLocaleCode() {
return this.localeCode;
}
public void setLocaleCode(String localeCode) {
this.localeCode = localeCode;
}
public String getTimeZoneId() {
return this.timeZoneId;
}
public void setTimeZoneId(String timeZoneId) {
this.timeZoneId = timeZoneId;
}
public String getLinkType() {
return this.linkType;
}
public void setLinkType(String linkType) {
this.linkType = linkType;
}
protected void normalizeLinkType() {
if (this.linkType == null)
this.linkType = JRHyperlinkHelper.getLinkType(this.hyperlinkType);
this.hyperlinkType = 0;
}
public Color getDefaultLineColor() {
return getForecolor();
}
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);
}
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;
}
if (this.isStyledText != null) {
this.markup = this.isStyledText.booleanValue() ? "styled" : "none";
this.isStyledText = null;
}
normalizeLinkType();
}
}