Apex - Invocación

La invocación de Apex se refiere al proceso de ejecución de la clase Apex. La clase Apex solo se puede ejecutar cuando se invoca a través de una de las formas que se enumeran a continuación:

  • Desencadenadores y bloqueo anónimo

  • Un disparador invocado para eventos específicos

  • Apex asincrónico

  • Programar una clase de Apex para que se ejecute a intervalos específicos o ejecutar un trabajo por lotes

  • Clase de servicios web

  • Clase de servicio de correo electrónico de Apex

  • Servicios web Apex, que permiten exponer sus métodos a través de servicios web SOAP y REST

  • Controladores de Visualforce

  • Servicio de correo electrónico Apex para procesar el correo electrónico entrante

  • Invocar Apex mediante JavaScript

  • El kit de herramientas Ajax para invocar métodos de servicios web implementados en Apex

Ahora entenderemos algunas formas comunes de invocar Apex.

Desde Ejecutar bloque anónimo

Puede invocar la clase Apex mediante la ejecución anónima en la Consola del desarrollador como se muestra a continuación:

Step 1 - Abra la Consola de desarrollador.

Step 2 - Haga clic en Depurar.

Step 3- Se abrirá la ventana Ejecutar anónimo como se muestra a continuación. Ahora, haga clic en el botón Ejecutar -

Step 4 - Abra el registro de depuración cuando aparezca en el panel Registros.

Desde Trigger

También puede llamar a una clase de Apex desde Trigger. Los disparadores se llaman cuando ocurre un evento específico y los disparadores pueden llamar a la clase Apex cuando se ejecuta.

A continuación se muestra el código de muestra que muestra cómo se ejecuta una clase cuando se llama a un Trigger.

Ejemplo

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

Desde el código del controlador de la página de Visualforce

La clase Apex también se puede llamar desde la página de Visualforce. Podemos especificar el controlador o la extensión del controlador y se llama a la clase de Apex especificada.

Ejemplo

VF Page Code

Apex Class Code (Controller Extension)