/* * 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; import net.sf.jasperreports.engine.type.LineSpacingEnum; import net.sf.jasperreports.engine.type.RotationEnum; import net.sf.jasperreports.engine.util.JRProperties; /** * An abstract representation of a report text element. It provides basic functionality for static texts and text fields. * * @author Teodor Danciu (teodord@users.sourceforge.net) * @version $Id: JRTextElement.java 3585 2010-03-12 12:58:24Z shertage $ */ public interface JRTextElement extends JRElement, JRAlignment, JRBox, JRFont, JRCommonText { /** * Property used to determine whether the fill process must preserve the original text * for text elements that are not able to fit their entire contents. * * <p> * When this property is set, the engine saves the original text in the * {@link JRPrintText print text object} along with the index at which the * text is to be truncated by the print object. * </p> * * <p> * This property can be set at the following levels (listed in the order of precedence): * <ul> * <li>at {@link JRTextElement text element} level</li> * <li>at {@link JRReport report} level</li> * <li>globally in jasperreports.properties or via {@link JRProperties}</li> * </ul> * </p> * * @see JRPrintText#getFullText() * @see JRPrintText#getText() * @see JRPrintText#getTextTruncateIndex() */ public static final String PROPERTY_PRINT_KEEP_FULL_TEXT = JRProperties.PROPERTY_PREFIX + "print.keep.full.text"; /** * Boolean property that determines whether text elements are to be truncated * at the last character that fits. * * <p> * By default, when the entire text of a text element does not fit the element's area, * the text is truncated at the last word that fits the area. * This property can instruct the engine to truncate the text at the last character * that fits. * </p> * * <p> * The property can be set at the same levels as {@link #PROPERTY_PRINT_KEEP_FULL_TEXT}. * </p> */ public static final String PROPERTY_TRUNCATE_AT_CHAR = JRProperties.PROPERTY_PREFIX + "text.truncate.at.char"; /** * Property whose value is used as a suffix for the truncated text. * * <p> * The suffix is appended to the text when truncation occurs. * If the property is not defined or empty (which is the case by default), * no suffix will be used when the text is truncated. * </p> * * <p> * The property can be set at the same levels as {@link #PROPERTY_PRINT_KEEP_FULL_TEXT}. * </p> */ public static final String PROPERTY_TRUNCATE_SUFFIX = JRProperties.PROPERTY_PREFIX + "text.truncate.suffix"; /** * Boolean property that determines whether the positions where text line * break occurs are to be saved during report fill in oder to be used at * export time. * * <p> * At report fill time, each text element is measured in order to determine * how long it needs to stretch or where it needs to be truncated. * During this measurement, the text wraps at certain positions in order to * fit the text element defined width. * * <p> * Setting this property to true instructs the engine to save the positions * at which line breaks occur in the generated print element. * The positions can be used by report exporters that want to enforce line * breaks to occur at exactly the same position as they did during text * measurement at fill time. * * <p> * Currently, the HTML exporter will make use of the saved line break * positions by introducing explicit line breaks. * * <p> * The property can be set globally, at report level or at text element level. * * @see JRPrintText#getLineBreakOffsets() */ public static final String PROPERTY_SAVE_LINE_BREAKS = JRProperties.PROPERTY_PREFIX + "text.save.line.breaks"; /** * @deprecated Replaced by {@link JRAlignment#HORIZONTAL_ALIGN_LEFT}. */ public static final byte TEXT_ALIGN_LEFT = HORIZONTAL_ALIGN_LEFT; /** * @deprecated Replaced by {@link JRAlignment#HORIZONTAL_ALIGN_CENTER}. */ public static final byte TEXT_ALIGN_CENTER = HORIZONTAL_ALIGN_CENTER; /** * @deprecated Replaced by {@link JRAlignment#HORIZONTAL_ALIGN_RIGHT}. */ public static final byte TEXT_ALIGN_RIGHT = HORIZONTAL_ALIGN_RIGHT; /** * @deprecated Replaced by {@link JRAlignment#HORIZONTAL_ALIGN_JUSTIFIED}. */ public static final byte TEXT_ALIGN_JUSTIFIED = HORIZONTAL_ALIGN_JUSTIFIED; /** * @deprecated Replaced by {@link RotationEnum#NONE}. */ public static final byte ROTATION_NONE = 0; /** * @deprecated Replaced by {@link RotationEnum#LEFT}. */ public static final byte ROTATION_LEFT = 1; /** * @deprecated Replaced by {@link RotationEnum#RIGHT}. */ public static final byte ROTATION_RIGHT = 2; /** * @deprecated Replaced by {@link RotationEnum#UPSIDE_DOWN}. */ public static final byte ROTATION_UPSIDE_DOWN = 3; /** * @deprecated Replaced by {@link LineSpacingEnum#SINGLE}. */ public static final byte LINE_SPACING_SINGLE = 0; /** * @deprecated Replaced by {@link LineSpacingEnum#ONE_AND_HALF}. */ public static final byte LINE_SPACING_1_1_2 = 1; /** * @deprecated Replaced by {@link LineSpacingEnum#DOUBLE}. */ public static final byte LINE_SPACING_DOUBLE = 2; /** * Gets the text horizontal alignment. * @return a value representing one of the horizontal alignment constants in {@link JRAlignment} * @deprecated Replaced by {@link #getHorizontalAlignment()}. */ public byte getTextAlignment(); /** * Sets the text horizontal alignment. * @param horizontalAlignment a value representing one of the horizontal alignment constants in {@link JRAlignment} * @deprecated Replaced by {@link #setHorizontalAlignment(byte)}. */ public void setTextAlignment(byte horizontalAlignment); /** * Specifies whether the text can contain style tags. * @deprecated Replaced by {@link #setMarkup(String)}. */ public void setStyledText(boolean isStyledText); /** * @deprecated Replaced by {@link #setMarkup(String)}. */ public void setStyledText(Boolean isStyledText); /** * Returns an object containing all border and padding properties for this text element * @deprecated Replaced by {@link JRBoxContainer#getLineBox()} */ public JRBox getBox(); /** * Returns an object containing all font properties for this text element * @deprecated */ public JRFont getFont(); }