This package defines 3 key interfaces ---- IReportItemQuery, IReportItemGeneration,
and IReportItemPresentation ---- that are used to process an extended item
at query preparation, report generation and report rendering times. Among the
three interfaces, only IReportItemPresentation is required, and the other two are
optional.
The execution flow is as follows:
- Design engine creates a new instance of the extended item.
- At report query preparation time, generation engine detects that the element
is an extended item. It dynamically creates the
IReportItemQuery
object and calls
getReportQueries()
to receive all the queries.
- When report is generating, an
IReportItemGeneration
object is created
for each instance of the extended item.
- The onRowSets methos is called, and an array of rowsets is passed to the extension.
- On each of the row set, the extension could retrieve data row-by-row, and does processing.
- Check if the extension has state information to be serialized. If so, call serialize method.
- Does generation time clean up.
- At presentation time, an
IReportItemPresentation
object is created for each
instance of the extended item.
- Check if the extension needs deserialization. If so, restores the generation time state.
- The onRowSets methos is called, and an array of rowsets is passed to the extension.
- On each of the row set, the extension could retrieve data row-by-row, and does processing.
- Receives the returned results from the onRowSets method.
- Does generation time clean up.
Package Specification
Provides interfaces and classes to support engine extensions.
@since 1.0