Activity
などの子オブジェクトにビジネス・ロジックを記述する場合、関連するオブジェクト・アクセサ・フィールドを使用して、所有する親TroubleTicket
オブジェクトにアクセスできます。
親オブジェクトの名前がTroubleTicket
の場合、Activity
の関連オブジェクト・アクセサ・フィールドの名前はTroubleTicket_c
になります。 次の例に示すように、常に親オブジェクトをローカル変数に格納することをお薦めします。 これにより、親オブジェクトからアクセスするフィールドの数や、そのオブジェクトを参照する回数にかかわらず、1回のみ「取得」できます。
// Store the parent object in a local variable
def ticket = TroubleTicket_c
// Now reference one or more fields from the parent
if (ticket.Status_c == 'Working' && ticket.Priority_c >= 2) {
// Do something here because the owning parent
// trouble ticket is high priority and being worked on.
}
子オブジェクトは所有する親オブジェクトなしでは存在できないため、親オブジェクトへの参照はnull
になることはないため、Groovy安全なナビゲーション演算子(?.
)のかわりに、式ticket.Status_c
で通常のドット演算子を使用できます。