Apex-invoking

提供:Dev Guides
移動先:案内検索

Apex-呼び出し

Apex呼び出しは、Apexクラスを実行するプロセスを指します。 Apexクラスは、以下にリストされている方法のいずれかを介して呼び出された場合にのみ実行できます-

  • トリガーと匿名ブロック
  • 指定されたイベントに対して呼び出されるトリガー
  • 非同期Apex
  • 指定した間隔で実行するApexクラスのスケジュール、またはバッチジョブの実行
  • Webサービスクラス
  • Apex Email Serviceクラス
  • SOAPおよびREST Webサービスを介してメソッドを公開できるApex Webサービス
  • Visualforceコントローラー
  • 受信メールを処理するApexメールサービス
  • JavaScriptを使用してApexを呼び出す
  • Apexに実装されたWebサービスメソッドを呼び出すAjaxツールキット

Apexを呼び出す一般的な方法をいくつか理解します。

匿名ブロックの実行から

以下に示すように、開発者コンソールで匿名を実行してApexクラスを呼び出すことができます-

  • ステップ1 *-開発者コンソールを開きます。
  • ステップ2 *-[デバッグ]をクリックします。

Apex Invoking From Execute Anonymous Step1

  • ステップ3 *-以下に示すように、匿名ウィンドウの実行が開きます。 今、実行ボタンをクリックしてください-

Apex Invoking From Execute Anonymous Step2

  • ステップ4 *-[ログ]ペインに表示されるデバッグログを開きます。

匿名実行ステップ3からのApex呼び出し

トリガーから

トリガーから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ページコード*

VFページStep1からのApex呼び出し

  • Apexクラスコード(コントローラー拡張)*

VFページStep2からのApex呼び出し