/*
* 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.EvaluationTimeEnum;
import net.sf.jasperreports.engine.type.OnErrorTypeEnum;
import net.sf.jasperreports.engine.type.ScaleImageEnum;
/**
* An abstract representation of a graphic element representing an image. Images can be aligned and scaled. They can
* also contain hyperlinks or be anchors for other hyperlinks.
*
* @author Teodor Danciu (teodord@users.sourceforge.net)
* @version $Id: JRImage.java 3583 2010-03-12 11:35:40Z shertage $
*/
public interface JRImage extends JRGraphicElement, JRAnchor, JRHyperlink, JRAlignment, JRBox, JRCommonImage
{
/**
* @deprecated Replaced by {@link ScaleImageEnum#CLIP}.
*/
public static final byte SCALE_IMAGE_CLIP = 1;
/**
* @deprecated Replaced by {@link ScaleImageEnum#FILL_FRAME}.
*/
public static final byte SCALE_IMAGE_FILL_FRAME = 2;
/**
* @deprecated Replaced by {@link ScaleImageEnum#RETAIN_SHAPE}.
*/
public static final byte SCALE_IMAGE_RETAIN_SHAPE = 3;
/**
* @deprecated Replaced by {@link ScaleImageEnum#REAL_HEIGHT}.
*/
public static final byte SCALE_IMAGE_REAL_HEIGHT = 4;
/**
* @deprecated Replaced by {@link ScaleImageEnum#REAL_SIZE}.
*/
public static final byte SCALE_IMAGE_REAL_SIZE = 5;
/**
* @deprecated Replaced by {@link OnErrorTypeEnum#ERROR}.
*/
public static final byte ON_ERROR_TYPE_ERROR = 1;
/**
* @deprecated Replaced by {@link OnErrorTypeEnum#BLANK}.
*/
public static final byte ON_ERROR_TYPE_BLANK = 2;
/**
* @deprecated Replaced by {@link OnErrorTypeEnum#ICON}.
*/
public static final byte ON_ERROR_TYPE_ICON = 3;
/**
* Indicates if the engine is loading the current image from cache.
* Implementations of this method rely on default values that depend on the type of the image expression
* if a value was not explicitly set of this flag.
* @return true if the image should be loaded from cache, false otherwise
*/
public boolean isUsingCache();
/**
* Indicates if the engine is loading the current image from cache.
* Implementations of this method return the actual value for the internal flag that was explicitly
* set on this image element.
* @return Boolean.TRUE if the image should be loaded from cache, Boolean.FALSE otherwise
* or null in case the flag was never explicitly set on this image element
*/
public Boolean isOwnUsingCache();
/**
* Specifies if the engine should be loading the current image from cache. If set to true, the reporting engine
* will try to recognize previously loaded images using their specified source. For example, it will recognize
* an image if the image source is a file name that it has already loaded, or if it is the same URL.
* <p>
* For image elements that have expressions returning <tt>java.lang.String</tt> objects as the image source,
* representing file names, URLs or classpath resources, the default value for this flag is true.
*/
public void setUsingCache(boolean isUsingCache);
/**
* Specifies if the engine should be loading the current image from cache. If set to Boolean.TRUE, the reporting engine
* will try to recognize previously loaded images using their specified source. For example, it will recognize
* an image if the image source is a file name that it has already loaded, or if it is the same URL.
* <p>
* If set to null, the engine will rely on some default value which depends on the type of the image expression.
* The cache is turned on by default only for images that have <tt>java.lang.String</tt> objects in their expressions.
*/
public void setUsingCache(Boolean isUsingCache);
/**
* Indicates if the images will be loaded lazily or not.
*/
public boolean isLazy();
/**
* Gives control over when the images are retrieved from their specified location. If set to true, the image is
* loaded from the specified location only when the document is viewed or exported to other formats. Otherwise
* it is loaded during the report filling process and stored in the resulting document.
* @param isLazy specifies whether
*/
public void setLazy(boolean isLazy);
/**
* @deprecated Replaced by {@link #getOnErrorTypeValue()}.
*/
public byte getOnErrorType();
/**
* @deprecated Replaced by {@link #setOnErrorType(OnErrorTypeEnum)}.
*/
public void setOnErrorType(byte onErrorType);
/**
* Indicates how the engine will treat a missing image.
* @return a value representing one of the missing image handling constants in {@link OnErrorTypeEnum}
*/
public OnErrorTypeEnum getOnErrorTypeValue();
/**
* Specifies how the engine should treat a missing image.
* @param onErrorTypeEnum a value representing one of the missing image handling constants in {@link OnErrorTypeEnum}
*/
public void setOnErrorType(OnErrorTypeEnum onErrorTypeEnum);
/**
* @deprecated Replaced by {@link #getEvaluationTimeValue()}.
*/
public byte getEvaluationTime();
/**
* Indicates the evaluation time for this image.
* @return one of the evaluation time constants in {@link EvaluationTimeEnum}
*/
public EvaluationTimeEnum getEvaluationTimeValue();
/**
* Gets the evaluation group for this text field. Used only when evaluation time is group.
* @see EvaluationTimeEnum#GROUP
*/
public JRGroup getEvaluationGroup();
/**
*
*/
public JRExpression getExpression();
/**
* Returns an object containing all border and padding properties for this text element
* @deprecated Replaced by {@link JRBoxContainer#getLineBox()}
*/
public JRBox getBox();
}