行の更新

行の挿入または行への移動により行を取得した後は(詳細は関連項目のトピックを参照)、その行の属性値を変更できます。行に永続属性が含まれている場合、その属性はリクエスト時にエンティティ・キャッシュで変更され、データソースにポストされます。詳細は、関連項目のトピックを参照してください。

属性値はsetAttribute()をコールするか、アクセッサを使用して変更できます。

setAttribute()を使用した値の変更

属性の名前を文字列として渡し、属性の値を任意のオブジェクトとして渡すことにより、行でsetAttribute()をコールします。

currentRow.setAttribute("OrderId", new Number(1));

警告: 値に無効なJava型を使用すると、実行時にClassCastExceptionが発生します。

アクセッサを使用した値の変更

ビュー・オブジェクトの公開されたアクセッサがある場合は、次の手順をかわりに使用できます。

  1. ビュー・オブジェクト定義を含んでいるパッケージの共通サブパッケージがインポート済であることを確認します。たとえば、ビュー・オブジェクトがorderentry.datamodelに定義されている場合、次のコードを使用します。

    import orderentry.datamodel.common.*;

  2. 行をカスタム・ビュー行インタフェースにキャストします(これは通常、OrdersViewRowのように、ビュー・オブジェクト定義の名前の末尾にRowという語句を追加したものになります)。

    OrdersViewRow currentOrder = (OrdersViewRow) currentRow;

    注意: 行を取得と同時にキャストすることもできます。

  3. 属性のタイプ・セーフなsetterをコールし(setter名は属性の先頭にsetという語を加えた名前、たとえばsetOrderId()など)、その真のJavaタイプを使用して属性値に渡します(これはコンパイル時にチェックされます)。

    currentOrder.setOrderId(new Number(1));


データの操作方法
Oracle ADFビュー・オブジェクトについて
Oracle ADFエンティティ・オブジェクトについて
Oracle ADF Business Componentsのキャッシュ管理について
トランザクションのコミットおよびロールバック
トランザクションのコミット
問合せ結果間の移動方法
行の挿入
属性値の取得
ビジネス・ロジックの実装