Apex staticメソッドの呼び出しのサンプル

環境
Salesforce

概要
trigger myAccountTrigger on Account (before insert, before update) {
// 処理コード
}
トリガーのコードブロックに、static キーワードを指定することはできません。
トリガーには、内部クラスに適用できるキーワードのみを含めることができます。
また、トリガーにより行われたデータベースへの変更は、手動で確定する必要はありません。

操作例
1.商談商品作成時にクラスの定義

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
public class OpportunityLineItemTriggerHandler {
//商談の見積備考を更新
public static void updateOpportunity(List<OpportunityLineItem> Trigger.new) {
//任意の処理
}
}
public class OpportunityLineItemTriggerHandler { //商談の見積備考を更新 public static void updateOpportunity(List<OpportunityLineItem> Trigger.new) { //任意の処理 } }
public class OpportunityLineItemTriggerHandler {  
    //商談の見積備考を更新
    public static void updateOpportunity(List<OpportunityLineItem> Trigger.new) {        
    //任意の処理    
    }   
}

説明
staticメソッドの特徴
・クラスをインスタンス化しなくてもメソッドを実行できる
・クラスに関連付けられる
・インスタンス生成の時間とメモリが不要なため、相対的にパフォーマンスが高い

2.商談商品作成時にtriggerの定義

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
trigger OpportunityLineItemTrigger on OpportunityLineItem (after insert) {
if (Trigger.isAfter) {
if (Trigger.isInsert) {
//商談の見積備考を更新
OpportunityLineItemTriggerHandler.updateOpportunity();
}
}
}
trigger OpportunityLineItemTrigger on OpportunityLineItem (after insert) { if (Trigger.isAfter) { if (Trigger.isInsert) { //商談の見積備考を更新 OpportunityLineItemTriggerHandler.updateOpportunity(); } } }
trigger OpportunityLineItemTrigger on OpportunityLineItem (after insert) {  
    if (Trigger.isAfter) {
        if (Trigger.isInsert) {
            //商談の見積備考を更新
            OpportunityLineItemTriggerHandler.updateOpportunity();
        }
    }
}

 

IT

Posted by arkgame