バックグラウンド
次のようなフォームを作成するためにページにドロップできるViewObjectを(JDeveloper 11.1.2.3を使用して)作成しようとしています:
フォーム パラメータは、カスタム レポート フレームワークに送信する必要があります。ViewObject では、特定の属性を List-of-Value セレクターにリンクするか、そのデータ型を ViewObject から自動的に取得する必要があります。開発者は、ViewObject をドラッグ アンド ドロップして機能的なフォームを作成できる必要があります。
これにより、フォームは ViewObject を使用して入力検証を実行できるようになり、List-of-Value オブジェクトも使用できるようになります。
問題
ViewObject をサポートするエンティティはありません。ViewObject を駆動する SQL はありません。ViewObject は、実際にはプログラムによるアクセスを必要とせず、静的リストでもありません。これは単に、検証ルールの対象となるパラメーターのコンテナーであることを意味しています。開発者がそのような ViewObject をフォームにドロップすると、入力フィールドが表示されないフォームが作成されます。
舞台裏のコードは次のようになります。
<af:inputText value="#{bindings.ManagementCentre.inputValue}"
label="#{bindings.ManagementCentre.hints.label}"
required="#{bindings.ManagementCentre.hints.mandatory}"
columns="#{bindings.ManagementCentre.hints.displayWidth}"
maximumLength="#{bindings.ManagementCentre.hints.precision}"
shortDesc="#{bindings.ManagementCentre.hints.tooltip}"
id="report_P_MANAGEMENT_CENTRE">
</af:inputText>
<af:inputText value="#{bindings.ClinicServiceCentreName.inputValue}"
label="#{bindings.ClinicServiceCentreName.hints.label}"
required="#{bindings.ClinicServiceCentreName.hints.mandatory}"
columns="#{bindings.ClinicServiceCentreName.hints.displayWidth}"
maximumLength="#{bindings.ClinicServiceCentreName.hints.precision}"
shortDesc="#{bindings.ClinicServiceCentreName.hints.tooltip}"
id="report_P_CLINIC_SERVICE_CENTRE">
<f:validator binding="#{bindings.ClinicServiceCentreName.validator}"/>
</af:inputText>
送信ボタンのコードはマネージド Bean を実行してフォーム パラメータを抽出し、(レポート フレームワークを介して) レポートに渡します。
<af:commandButton text="Run Report" id="submitReport">
<af:fileDownloadActionListener method="#{reportBean.run}" />
</af:commandButton>
質問
検証を実行できるが、データ ソースに基づく必要のない ViewObject を作成するにはどうすればよいでしょうか。