Apex - Appel

L'appel Apex fait référence au processus d'exécution de la classe Apex. La classe Apex ne peut être exécutée que lorsqu'elle est appelée via l'une des méthodes répertoriées ci-dessous -

  • Déclencheurs et bloc anonyme

  • Un déclencheur appelé pour des événements spécifiés

  • Apex asynchrone

  • Planification d'une classe Apex pour qu'elle s'exécute à des intervalles spécifiés ou exécution d'un travail par lots

  • Classe de services Web

  • Classe de service de messagerie Apex

  • Services Web Apex, qui permettent d'exposer vos méthodes via les services Web SOAP et REST

  • Contrôleurs Visualforce

  • Service de messagerie Apex pour traiter les e-mails entrants

  • Appel d'Apex à l'aide de JavaScript

  • La boîte à outils Ajax pour appeler les méthodes de service Web implémentées dans Apex

Nous allons maintenant comprendre quelques façons courantes d'invoquer Apex.

À partir de Exécuter un bloc anonyme

Vous pouvez appeler la classe Apex via exécuter anonyme dans la Developer Console comme indiqué ci-dessous -

Step 1 - Ouvrez la Developer Console.

Step 2 - Cliquez sur Debug.

Step 3- Exécuter la fenêtre anonyme s'ouvrira comme indiqué ci-dessous. Maintenant, cliquez sur le bouton Exécuter -

Step 4 - Ouvrez le journal de débogage lorsqu'il apparaîtra dans le volet Journaux.

Depuis le déclencheur

Vous pouvez également appeler une classe Apex à partir de Trigger. Les déclencheurs sont appelés lorsqu'un événement spécifié se produit et les déclencheurs peuvent appeler la classe Apex lors de l'exécution.

Voici l'exemple de code qui montre comment une classe est exécutée lorsqu'un déclencheur est appelé.

Exemple

// 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.

À partir du code du contrôleur de page Visualforce

La classe Apex peut également être appelée à partir de la page Visualforce. Nous pouvons spécifier le contrôleur ou l'extension du contrôleur et la classe Apex spécifiée est appelée.

Exemple

VF Page Code

Apex Class Code (Controller Extension)