属性値の計算には最初はSQLを使用するのが最も効率的ですが、値を動的に変更する可能性のある計算属性はJavaで保持する必要があります。
注意: この手順では、「エンティティ・オブジェクト・レベルでの計算属性の作成」または「ビュー・オブジェクト・レベルでの計算属性の作成」の全ステップが終了していると想定しています。
計算属性値を保持するには、次のようにします。
LineItemTotal
がQuantity
に依存している場合は、setQuantity( Number )
をダブルクリックします。
public void setQuantity(Number value)
{
setAttributeInternal(QUANTITY, value);
setLineItemTotal(null);
}
LineItemTotal
では、setUnitPrice()
も編集する場合があります)。
getLineItemTotal()
など)を構造ペインでダブルクリックし、そのgetterに移動します。getterは次のようになります。
public Number getLineItemTotal()
{
return (Number) getAttributeInternal(LINEITEMTOTAL);
}
return
文を削除し、次のコード・ブロックのように、値がnullでない場合のみgetAttributeInternal()
を戻すコード・ブロックと置換します。
Number value =
(Number) getAttributeInternal(LINEITEMTOTAL);
if (value != null)
{
return value
}
if
ブロックの後に、次の処理を行うコードを追加します。
たとえば次のコードは、この3つのタスクすべてをLineItemTotalに実行します。
Number quantity = getQuantity();
Number unitPrice = getUnitPrice();
if (quantity != null && unitPrice != null)
{
value = new Number(
quantity.doubleValue() * unitPrice.doubleValue()
);
setLineItemTotal(value);
}
注意: こうした計算に役立つビジネス・ロジック・メソッドは多数あります。詳細は、関連項目のトピックを参照してください。
return value;
Copyright © 1997, 2004, Oracle. All rights reserved.