データ・アクセス・イベント・ハンドラーを使用することで、『EGL BIRT ハンドラー』に説明されているように、データ・ソースやデータ・セットを処理することができます。また、 ReportContext タイプのパラメーターにアクセスできる場合は、イベント・ハンドラーの呼び出し時に各レポート・パラメーターにアクセスが可能です。 例えば、レポート・パラメーターを特定の顧客番号に設定することで、 レポートに含める顧客データを指定することができます。
function setUser( d DataSourceInstance, c ReportContext )
{ eventType = beforeOpen, elementName = "myDataSource" }
d.setExtensionProperty( "odaUser", userName );
d.setExtensionProperty( "odaPassword", password );
end
この例ではレポート・パラメーターを使用せず、イベント・ハンドラー・パラメーター d (DataSourceInstance タイプ) を使用して、ユーザー ID とパスワードを設定しています。 ユーザー ID とパスワードはともに、リレーショナル・データベースに接続するために BIRT レポート・エンジンで使用されます。 この例では、変数 userName および password がグローバルであり、 関数外で設定されているものとします。
データ・アクセス・イベント・ハンドラーの各パラメーターは、Java™ インターフェースを表す EGL 外部型に基づきます。次の表は、それぞれのデータ・アクセス・パラメーターのタイプと目的、 および関連する Java インターフェースの非修飾の名前を示します。
| パラメーター・タイプ | 用途 | Java インターフェース |
|---|---|---|
| DataSetInstance | データ・セットの詳細全般へのアクセス | IDataSetInstance |
| DataSetRow | データ・セットの列固有の詳細へのアクセス | IDataSetRow |
| DataSourceInstance | データ・ソースの詳細へのアクセス | IDataSourceInstance |
| ReportContext | レポート・パラメーター値を取得または設定する | IReportContext |
| UpdatableDatasetRow | データの行をレポートに渡す | IUpdatableDatasetRow |
Java 固有の詳細が必要になるとは限りませんが、各インターフェースについて説明した Javadoc が「BIRT レポート・スクリプト API リファレンス (BIRT Report Scripting API Reference)」に用意されています。 これは、製品のヘルプ・システムの「BIRT プログラマー・リファレンス (BIRT Programmer Reference)」>「リファレンス (Reference)」>「API リファレンス (API Reference)」>「BIRT レポート・スクリプト API リファレンス (BIRT Report Scripting API Reference)」にあります。 Java インターフェース IDataSourceInstance および IDataSetInstance は org.eclipse.birt.report.engine.api.script.instance に、 DataSetRow、UpdatableDatasetRow、および ReportContext はパッケージ org.eclipse.birt.report.engine.api.script にあります。