Class DrawableLoadFilter
- java.lang.Object
-
- org.pentaho.reporting.engine.classic.core.filter.DrawableLoadFilter
-
- All Implemented Interfaces:
Serializable
,Cloneable
,DataFilter
,DataSource
,DataTarget
public class DrawableLoadFilter extends Object implements DataFilter
The DrawableLoadFilter is used to load drawable image files (like WMF's) 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 as result of calling "getValue()". 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 Drawable object which is returned to the caller. The loaded/created Drawable is also 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 DrawableLoadFilter()
creates a new ImageLoadFilter with a cache size of 10.DrawableLoadFilter(int cacheSize)
Creates a new ImageLoadFilter with the defined cache size.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description DrawableLoadFilter
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 DrawableLoadFilter 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.
-
-