2013-09-20 2 views
1

Я предполагаю, что следующее может быть невозможно, однако я думал, что все равно проверю. Если у меня есть 2 класса «класс A» & «Класс B», Is возможно в Apex для определения в «классе B», если в настоящее время выполняется экземпляр класса «B» (и наоборот)?Salesforce: обнаружить, если экземпляр класса выполняется

Заранее благодарим за помощь.

ответ

1

Я думаю, вы могли бы использовать глобальную статическую переменную в качестве флага. Задайте один, когда класс B начнет выполнение, и вы можете прочитать его из класса A, отмените его, когда класс B завершает выполнение. Вот пример использования такого флага: предположим, что у вас был следующий класс:

public class p { 
    public static boolean firstRun = true; 
} 
A trigger that uses this class could then selectively fail the first run of the trigger: 

trigger t1 on Account (before delete, after delete, after undelete) { 
     if(Trigger.isBefore){ 
      if(Trigger.isDelete){ 
      if(p.firstRun){ 
       Trigger.old[0].addError('Before Account Delete Error'); 
        p.firstRun=false; 
       } 
      } 
     } 
}