org.pentaho.reporting.engine.classic.core.filter
Interface DataSource

All Superinterfaces:
Cloneable, Serializable
All Known Subinterfaces:
DataFilter, ElementType, RawDataSource, SectionType, Template
All Known Implementing Classes:
AbstractTemplate, AnchorFieldTemplate, AnchorFilter, AutoLayoutBoxType, BandType, ComponentDrawableFilter, ComponentFieldTemplate, ContentFieldType, ContentType, CrosstabColumnGroupBodyType, CrosstabColumnGroupType, CrosstabGroupType, CrosstabOtherGroupBodyType, CrosstabOtherGroupType, CrosstabRowGroupBodyType, CrosstabRowGroupType, CrosstabSummaryFooterType, CrosstabSummaryHeaderType, CrosstabTitleFooterType, CrosstabTitleHeaderType, DataRowDataSource, DateFieldTemplate, DateFieldType, DateFormatFilter, DateFormatParser, DecimalFormatFilter, DecimalFormatParser, DetailsFooterType, DetailsHeaderType, DrawableFieldTemplate, DrawableLoadFilter, DrawableURLElementTemplate, DrawableURLFieldTemplate, EllipseTemplate, EllipseType, EmptyDataSource, ExternalElementType, FormatFilter, FormatParser, GroupDataBodyType, GroupFooterType, GroupHeaderType, HorizontalLineTemplate, HorizontalLineType, ImageFieldTemplate, ImageLoadFilter, ImageRefFilter, ImageURLElementTemplate, ImageURLFieldTemplate, ItemBandType, LabelTemplate, LabelType, LegacyType, MasterReportType, MessageFieldTemplate, MessageFormatFilter, MessageType, NoDataBandType, NumberFieldTemplate, NumberFieldType, NumberFormatFilter, NumberFormatParser, PageFooterType, PageHeaderType, RectangleTemplate, RectangleType, RelationalGroupType, ReportFooterType, ReportHeaderType, ResourceFieldTemplate, ResourceFieldType, ResourceFileFilter, ResourceLabelTemplate, ResourceLabelType, ResourceMessageFormatFilter, ResourceMessageTemplate, ResourceMessageType, RoundRectangleTemplate, ShapeFieldTemplate, ShapeFilter, SimpleDateFormatFilter, SimpleDateFormatParser, StaticDataSource, StringFieldTemplate, StringFilter, SubGroupBodyType, SubReportType, SurveyScaleType, TextFieldType, URLFilter, VerticalLineTemplate, VerticalLineType, WatermarkType

public interface DataSource
extends Serializable, 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
 Object clone()
          Clones this DataSource.
 Object getValue(ExpressionRuntime runtime, Element element)
          Returns the current value for the data source.
 

Method Detail

getValue

Object getValue(ExpressionRuntime runtime,
                Element element)
Returns the current value for the data source.

Parameters:
runtime - the expression runtime that is used to evaluate formulas and expressions when computing the value of this filter.
element - the element for which the data is computed.
Returns:
the value.

clone

Object clone()
             throws CloneNotSupportedException
Clones this DataSource.

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