Apex-呼び出し
Apexの呼び出しとは、Apexクラスを実行するプロセスを指します。Apexクラスは、以下のいずれかの方法で呼び出された場合にのみ実行できます。
トリガーと匿名ブロック
指定されたイベントに対して呼び出されるトリガー
非同期の頂点
指定された間隔で実行するようにApexクラスをスケジュールするか、バッチジョブを実行します
Webサービスクラス
Apexメールサービスクラス
Apex Webサービス。これにより、SOAPおよびRESTWebサービスを介してメソッドを公開できます。
Visualforceコントローラー
インバウンドEメールを処理するApexEメールサービス
JavaScriptを使用したApexの呼び出し
Apexに実装されたWebサービスメソッドを呼び出すためのAjaxツールキット
これで、Apexを呼び出す一般的な方法をいくつか理解できます。
匿名ブロックの実行から
以下に示すように、開発者コンソールで匿名実行を介してApexクラスを呼び出すことができます-
Step 1 −開発者コンソールを開きます。
Step 2 − [デバッグ]をクリックします。
Step 3−以下のように匿名実行ウィンドウが開きます。次に、[実行]ボタンをクリックします-
Step 4 − [ログ]ペインに表示されたら、デバッグログを開きます。
トリガーから
TriggerからApexクラスを呼び出すこともできます。トリガーは、指定されたイベントが発生したときに呼び出され、トリガーは実行時にApexクラスを呼び出すことができます。
以下は、トリガーが呼び出されたときにクラスがどのように実行されるかを示すサンプルコードです。
例
// Class which will gets called from trigger
public without sharing class MyClassWithSharingTrigger {
public static Integer executeQuery (List<apex_customer__c> CustomerList) {
// perform some logic and operations here
Integer ListSize = CustomerList.size();
return ListSize;
}
}
// Trigger Code
trigger Customer_After_Insert_Example on APEX_Customer__c (after insert) {
System.debug('Trigger is Called and it will call Apex Class');
MyClassWithSharingTrigger.executeQuery(Trigger.new); // Calling Apex class and
// method of an Apex class
}
// This example is for reference, no need to execute and will have detail look on
// triggers later chapters.
Visualforceページコントローラコードから
Apexクラスは、Visualforceページからも呼び出すことができます。コントローラまたはコントローラ拡張を指定すると、指定したApexクラスが呼び出されます。
例
VF Page Code
Apex Class Code (Controller Extension)