私は、BIRTがデータに頼りがちなツールの一つだと主張します。どのレポート作成ツールもデータ中心のものになります。データは、ユーザーに提示しようとしているものです。 BIRT(あなたが指摘しているように)は、RBDMSソースと非RDBMSソース(POJOなど)の両方を幅広くサポートしています。
POJOは、アプリケーション駆動のデータ収集では論理的に適していると思います。問題はデータへのアクセスではありません。 BIRTはこれをPOJO経由で簡単に行うことができます(BIRT Exchangeでこれを参照してください)。この問題は、レポート自体でデータをどのように使用するのかという点に関係しています。
レポートのアーキテクチャで最も重要な依存関係は、収集されたデータを意味のある方法で適用するためにユーザーにデータを伝達するために利用しているさまざまなコントロールの機能です。コントロール(チャート、テーブルなど)は、データ型と列名(アクセスの理由から)の2つのことを気にします。これらの2つのことは、コントロールがデータセットから要素を要求し、それを結果として得られるキャンバスに正常に適用する場合に重要です。
カラム名の最初の問題は、汎用カラム名を作成し、実行時にデータセットがアセンブルされるときにPOJOからそれらのカラムを簡単に取り込むことで、簡単に処理できます。列がデータセットおよびコンポーネントレイヤー全体でどのように管理されるかについては、一貫性と論理が必要ですが、それは実行可能です。 は、実行時にデータセットに列を追加することもできませんが、設計時に最大数の列を設計し、実行時に必要なものを移入できます。
データ型の2番目の問題は、少し制限があり、実装前にさらに計画する必要があります。データセットVal1
の最初の要素の名前を(前の段落に沿って)指定して文字列として入力した場合は、データセットを作成するたびに文字列を保持する必要があります。そうしないと、実行時エラーが表示されます。データで膨大な計算をしていない場合は、実行時にPOJOをデータセットに変換するときに、データ型の変換でこれを克服することができます。
あなたが探していることをする方法があります。この実装には、データセットの構造とデータセットを活用するコントロールのレイアウトの両方について多大な計画が必要です。 レポートのライフサイクルのすべてのイベントをスクリプトで上書きすることができ、多くの活用力と柔軟性を提供します。
最後に、厳密に型指定されたデータセットを使用して実行時にすべてを実行したい場合は、そうすることができます。コードでレポートを生成するには、BIRT APIを使用する必要があります。 WYSIWYG Eclipseデザイナーでできることは、広範なAPIを使ってコード内で行うことができます。 BIRT Exchangeもチェックしてください。これらの複雑な項目を再利用可能なポートフォリオに集約するために、レポートライブラリ(BIRTのもう1つの優れた機能)を検討することをお勧めします。