Class ImageLoadFilter
- java.lang.Object
-
- org.pentaho.reporting.engine.classic.core.filter.ImageLoadFilter
-
- All Implemented Interfaces:
Serializable
,Cloneable
,DataFilter
,DataSource
,DataTarget
public class ImageLoadFilter extends Object implements DataFilter
The image load filter is used to load images during the report generation process. This filter expects its datasource to return a java.net.URL. If the datasource does not return an URL,null
is returned. This filter is mostly used in conjunction with the URLFilter, which creates URLs from Strings and files if nessesary. The url is used to create a new imagereference which is returned to the caller. The loaded/created imagereference is stored in an internal cache. This filter can be used to dynamically change images of a report, a very nice feature for photo albums and catalogs for instance. This filter will return null, if something else than an URL was retrieved from the assigned datasource- Author:
- Thomas Morgner
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description ImageLoadFilter()
creates a new ImageLoadFilter with a cache size of 10.ImageLoadFilter(int cacheSize)
Creates a new ImageLoadFilter with the defined cache size.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ImageLoadFilter
clone()
Clones the filter.DataSource
getDataSource()
Returns the data source for the filter.Object
getValue(ExpressionRuntime runtime, ReportElement element)
Reads this filter's datasource and if the source returned an URL, tries to form a imagereference.void
setDataSource(DataSource ds)
Sets the data source.
-
-
-
Method Detail
-
getValue
public Object getValue(ExpressionRuntime runtime, ReportElement element)
Reads this filter's datasource and if the source returned an URL, tries to form a imagereference. If the image is loaded in a previous run and is still in the cache, no new reference is created and the previously loaded reference is returned.- Specified by:
getValue
in interfaceDataSource
- Parameters:
runtime
- the expression runtime that is used to evaluate formulas and expressions when computing the value of this filter.element
-- Returns:
- the current value for this filter.
-
getDataSource
public DataSource getDataSource()
Returns the data source for the filter.- Specified by:
getDataSource
in interfaceDataTarget
- Returns:
- The data source.
-
setDataSource
public void setDataSource(DataSource ds)
Sets the data source.- Specified by:
setDataSource
in interfaceDataTarget
- Parameters:
ds
- The data source.
-
clone
public ImageLoadFilter clone() throws CloneNotSupportedException
Clones the filter.- Specified by:
clone
in interfaceDataSource
- Specified by:
clone
in interfaceDataTarget
- Overrides:
clone
in classObject
- Returns:
- a clone.
- Throws:
CloneNotSupportedException
- this should never happen.
-
-