com.jrefinery.report.filter
Interface DataSource

All Superinterfaces:
java.lang.Cloneable, java.io.Serializable
All Known Subinterfaces:
DataFilter, Template
All Known Implementing Classes:
AbstractTemplate, DataRowDataSource, DrawableFilter, EmptyDataSource, ExpressionDataSource, FormatFilter, FormatParser, FunctionDataSource, ImageLoadFilter, ImageRefFilter, ReportDataSource, ResourceFileFilter, ShapeFilter, StaticDataSource, StringFilter, URLFilter

public interface DataSource
extends java.io.Serializable, java.lang.Cloneable

A DataSource is a producer in the data chain. Common Sources are StaticSources (predefined data), ReportDataSources (data filled from the reports data set) or FunctionDataSource (the data is filled by querying an assigned function).

All DataSources have to support the Cloneable interface so that a report can be completley cloned with all assigned filters and DataSources. Reports are cloned before they are processed to remove the side effect when having multiple report processors working on the same object.

Author:
Thomas Morgner

Method Summary
 java.lang.Object clone()
          Clones this DataSource.
 java.lang.Object getValue()
          Returns the current value for the data source.
 

Method Detail

getValue

public java.lang.Object getValue()
Returns the current value for the data source.

Returns:
the value.

clone

public java.lang.Object clone()
                       throws java.lang.CloneNotSupportedException
Clones this DataSource.

Returns:
the clone.
Throws:
java.lang.CloneNotSupportedException - this should never happen.