001: /*
002: * ============================================================================
003: * GNU Lesser General Public License
004: * ============================================================================
005: *
006: * JasperReports - Free Java report-generating library.
007: * Copyright (C) 2001-2006 JasperSoft Corporation http://www.jaspersoft.com
008: *
009: * This library is free software; you can redistribute it and/or
010: * modify it under the terms of the GNU Lesser General Public
011: * License as published by the Free Software Foundation; either
012: * version 2.1 of the License, or (at your option) any later version.
013: *
014: * This library is distributed in the hope that it will be useful,
015: * but WITHOUT ANY WARRANTY; without even the implied warranty of
016: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
017: * Lesser General Public License for more details.
018: *
019: * You should have received a copy of the GNU Lesser General Public
020: * License along with this library; if not, write to the Free Software
021: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
022: *
023: * JasperSoft Corporation
024: * 303 Second Street, Suite 450 North
025: * San Francisco, CA 94107
026: * http://www.jaspersoft.com
027: */
028: package net.sf.jasperreports.engine;
029:
030: import net.sf.jasperreports.engine.util.DefaultFormatFactory;
031:
032: //import java.text.Format;
033:
034: /**
035: * An abstract representation of a report static text. It provides functionality for static texts.
036: * @author Teodor Danciu (teodord@users.sourceforge.net)
037: * @version $Id: JRTextField.java 1489 2006-11-14 20:38:10Z teodord $
038: */
039: public interface JRTextField extends JRTextElement, JRAnchor,
040: JRHyperlink {
041:
042: /**
043: * Used in the date pattern to specify the default style.
044: * @see java.text.DateFormat#DEFAULT
045: * @deprecated replaced by {@link DefaultFormatFactory#STANDARD_DATE_FORMAT_DEFAULT DefaultFormatFactory.STANDARD_DATE_FORMAT_DEFAULT}
046: */
047: public static final String STANDARD_DATE_FORMAT_DEFAULT = DefaultFormatFactory.STANDARD_DATE_FORMAT_DEFAULT;
048:
049: /**
050: * Used in the date pattern to specify the short style.
051: * @see java.text.DateFormat#SHORT
052: * @deprecated replaced by {@link DefaultFormatFactory#STANDARD_DATE_FORMAT_SHORT DefaultFormatFactory.STANDARD_DATE_FORMAT_SHORT}
053: */
054: public static final String STANDARD_DATE_FORMAT_SHORT = DefaultFormatFactory.STANDARD_DATE_FORMAT_SHORT;
055:
056: /**
057: * Used in the date pattern to specify the medium style.
058: * @see java.text.DateFormat#MEDIUM
059: * @deprecated replaced by {@link DefaultFormatFactory#STANDARD_DATE_FORMAT_MEDIUM DefaultFormatFactory.STANDARD_DATE_FORMAT_MEDIUM}
060: */
061: public static final String STANDARD_DATE_FORMAT_MEDIUM = DefaultFormatFactory.STANDARD_DATE_FORMAT_MEDIUM;
062:
063: /**
064: * Used in the date pattern to specify the long style.
065: * @see java.text.DateFormat#LONG
066: * @deprecated replaced by {@link DefaultFormatFactory#STANDARD_DATE_FORMAT_LONG DefaultFormatFactory.STANDARD_DATE_FORMAT_LONG}
067: */
068: public static final String STANDARD_DATE_FORMAT_LONG = DefaultFormatFactory.STANDARD_DATE_FORMAT_LONG;
069:
070: /**
071: * Used in the date pattern to specify the full style.
072: * @see java.text.DateFormat#FULL
073: * @deprecated replaced by {@link DefaultFormatFactory#STANDARD_DATE_FORMAT_FULL DefaultFormatFactory.STANDARD_DATE_FORMAT_FULL}
074: */
075: public static final String STANDARD_DATE_FORMAT_FULL = DefaultFormatFactory.STANDARD_DATE_FORMAT_FULL;
076:
077: /**
078: * Used in the date pattern to specify that the date or time should not be included.
079: * @deprecated replaced by {@link DefaultFormatFactory#STANDARD_DATE_FORMAT_HIDE DefaultFormatFactory.STANDARD_DATE_FORMAT_HIDE}
080: */
081: public static final String STANDARD_DATE_FORMAT_HIDE = DefaultFormatFactory.STANDARD_DATE_FORMAT_HIDE;
082:
083: /**
084: * Used in the date format pattern to separate the date and time styles.
085: * @deprecated replaced by {@link DefaultFormatFactory#STANDARD_DATE_FORMAT_SEPARATOR DefaultFormatFactory.STANDARD_DATE_FORMAT_SEPARATOR}
086: */
087: public static final String STANDARD_DATE_FORMAT_SEPARATOR = DefaultFormatFactory.STANDARD_DATE_FORMAT_SEPARATOR;
088:
089: /**
090: * Specifies whether the text field will stretch vertically if its text does not fit in one line.
091: * @return true if the text field will stretch vertically, false otherwise
092: */
093: public boolean isStretchWithOverflow();
094:
095: /**
096: * Set to true if the text field should stretch vertically if its text does not fit in one line.
097: */
098: public void setStretchWithOverflow(boolean isStretchWithOverflow);
099:
100: /**
101: * Gets the evaluation time for this text field.
102: * @return one of the evaluation time constants in {@link JRExpression}
103: */
104: public byte getEvaluationTime();
105:
106: /**
107: * Gets the pattern used for this text field. The pattern will be used in a <tt>SimpleDateFormat</tt> for dates
108: * and a <tt>DecimalFormat</tt> for numeric text fields. The pattern format must follow one of these two classes
109: * formatting rules, as specified in the JDK API docs.
110: * @return a string containing the pattern.
111: */
112: public String getPattern();
113:
114: public String getOwnPattern();
115:
116: /**
117: * Sets the pattern used for this text field. The pattern will be used in a <tt>SimpleDateFormat</tt> for dates
118: * and a <tt>DecimalFormat</tt> for numeric text fields. The pattern format must follow one of these two classes
119: * formatting rules, as specified in the JDK API docs. If the pattern is incorrect, the exception thrown by formatter
120: * classes will be rethrown by the JasperReports fill engine.
121: */
122: public void setPattern(String pattern);
123:
124: /**
125: * Indicates whether an empty string will be displayed if the field's expression evaluates to <code>null</code>.
126: * @return true if an empty string will be displayed instead of null values, false otherwise
127: */
128: public boolean isBlankWhenNull();
129:
130: public Boolean isOwnBlankWhenNull();
131:
132: /**
133: * Specifies whether an empty string sholuld be displayed if the field's expression evaluates to <code>null</code>.
134: * @param isBlank true if an empty string will be displayed instead of null values, false otherwise
135: */
136: public void setBlankWhenNull(boolean isBlank);
137:
138: public void setBlankWhenNull(Boolean isBlank);
139:
140: /**
141: * Gets the evaluation group for this text field. Used only when evaluation time is group.
142: * @see JRExpression#EVALUATION_TIME_GROUP
143: */
144: public JRGroup getEvaluationGroup();
145:
146: /**
147: * Gets the expression for this field. The result obtained after evaluating this expression will be dispayed as
148: * the field text.
149: */
150: public JRExpression getExpression();
151:
152: }
|