Apex - 调用



Apex 调用是指执行 Apex 类的过程。只有通过以下列出的一种方式调用时,才能执行 Apex 类:

  • 触发器和匿名块

  • 为指定事件调用的触发器

  • 异步 Apex

  • 计划 Apex 类在指定时间间隔运行,或运行批处理作业

  • Web 服务类

  • Apex 邮件服务类

  • Apex Web 服务,允许通过 SOAP 和 REST Web 服务公开您的方法

  • Visualforce 控制器

  • Apex 邮件服务处理传入邮件

  • 使用 JavaScript 调用 Apex

  • Ajax 工具包调用在 Apex 中实现的 Web 服务方法

现在,我们将了解一些常见的 Apex 调用方法。

从执行匿名块

您可以通过在开发者控制台中执行匿名方式调用 Apex 类,如下所示:

步骤 1 - 打开开发者控制台。

步骤 2 - 点击调试。

Apex Invoking From Execute Anonymous Step1

步骤 3 - 执行匿名窗口将打开,如下所示。现在,点击执行按钮:

Apex Invoking From Execute Anonymous Step2

步骤 4 - 打开调试日志,它将显示在日志窗格中。

Apex Invoking From Execute Anonymous Step3

从触发器

您也可以从触发器调用 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 页面控制器代码

也可以从 Visualforce 页面调用 Apex 类。我们可以指定控制器或控制器扩展,并调用指定的 Apex 类。

示例

VF 页面代码

Apex Ivoking From VF Page Step1

Apex 类代码(控制器扩展)

Apex Ivoking From VF Page Step2
广告