Interface ReportDataSource
-
- All Known Implementing Classes:
QueryReportDataSource
,ScriptReportDataSource
,StaticReportDataSource
public interface ReportDataSource
This is the interface that module authors who wish to add a new report data source must implement and register in the Gateway scope. You must register your implementation of this interface with theGatewayDataSourceRegistry
- Since:
- 7.8.0
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
gatherData(ReportExecutionContext execContext, java.io.Serializable configObject, java.util.Map<java.lang.String,java.lang.Object> extraConfigs)
Called when a report is being executed to gather the data represented by this data source.java.lang.String
getId()
Return the unique ID for this data source.
-
-
-
Method Detail
-
getId
java.lang.String getId()
Return the unique ID for this data source. Should be qualified, such as com.example.data-source-type. Must match the ID returned by your DataSourceConfigFactory in the designer scope.
-
gatherData
void gatherData(ReportExecutionContext execContext, java.io.Serializable configObject, java.util.Map<java.lang.String,java.lang.Object> extraConfigs) throws java.lang.Exception
Called when a report is being executed to gather the data represented by this data source. This method is high re-entrant. A given data source instance will be used for concurrently executing reports. This method must inject the data it gathers into the data map.- Parameters:
execContext
- This context holds the data map for the report, as well as other information about the report, its project, logging context, status feedback, etc.configObject
- The object that was saved for this data source in the designer.extraConfigs
- Any extra info datasources might need when running. Will be null if not sample data. It's up to the datasource to decide what object(s) from this map it wants. Key is the datasource id.- Throws:
java.lang.Exception
- Since:
- 7.9.4 (extra configs added)
-
-