-
Notifications
You must be signed in to change notification settings - Fork 422
PlatformEventRecipesTriggerHandler
Demonstrates how to construct a trigger handler for platform events
Inheritance
TriggerHandler > PlatformEventRecipesTriggerHandler
Group Trigger Recipes
See TriggerHandler
Constructor responsible for transfering Trigger.new into a class variable
Inherited
TESTVISIBLE
This is an admittedly contrived example. The key to Platform Event's utility is their interoperabilty. This recipe demonstrate what happens when a Platform Event is committed. Platform Event Triggers fire regardless of how the event was created: - You can create these events either through Apex, low code tools - and external system integrations
Account acct = new Account(Name = 'Awesome Events Ltd.');
insert acct;
Event_Recipes_Demo__e evt = new Event_Recipes_Demo__e(AccountId__c = acct.id, Title__c='Updated website', Url__c = 'https://developer.salesforce.com');
Database.saveResults result = PlatformEventsRecipes.publishEvent(evt);
System.debug(result + [SELECT Name, Website FROM Account WHERE Id = :acct.id]);
Inherited
This is main brokering method that is called by the trigger. It's responsible for determining the proper context, and calling the correct method
AccountTriggerHandler.run();
Inherited
Allows developers to prevent trigger loops, or allow a limited number of them by setting the maximum number of times this trigger is called.
Param | Description |
---|---|
max |
A valid number (generally 1) of times you'd like to allow the trigger to run. |
In the context of a TriggerHandler class,
this.setMaxLoopCount(5);
Inherited
Allows developers to turn off the max loop count
In the context of a TriggerHandler class,
this.clearMaxLoopCount();
Inherited
Allows developers to conditionally bypass (disable) other triggers that also implement this triggerHandler
Param | Description |
---|---|
handlerName |
Class name (String) of the trigger handler to bypass |
TriggerHandler.bypass('AccountTriggerHandler');
Inherited
Removes a given trigger handler class name from the list of bypassed trigger handlers.
Param | Description |
---|---|
handlerName |
Handler class name to remove from the bypass list |
TriggerHandler.clearBypass('AccountTriggerHandler');
Inherited
Allows developers to check whether a given trigger handler class is currently bypassed.
Param | Description |
---|---|
handlerName |
The name of the trigger handler class to check for |
Type | Description |
---|---|
Boolean |
Boolean |
TriggerHandler.isBypassed('AccountTriggerHandler');
Inherited
removes all classes from the bypass list
Triggerhandler.clearAllBypasses();
Inherited
TESTVISIBLE
increment the loop count
Exception | Description |
---|---|
Throws |
loop count exception if the max loop count is reached |
Inherited
TESTVISIBLE
make sure this trigger should continue to run
Type | Description |
---|---|
Boolean |
Boolean |
Exception | Description |
---|---|
TriggerHandlerException |
thrown when executing outside of a trigger |
Inherited
TESTVISIBLE
SUPPRESSWARNINGS
context methods
Inherited
TESTVISIBLE
SUPPRESSWARNINGS
Virtual method for the implementing class to override
Inherited
TESTVISIBLE
SUPPRESSWARNINGS
Virtual method for the implementing class to override
Inherited
TESTVISIBLE
SUPPRESSWARNINGS
Virtual method for the implementing class to override
Inherited
TESTVISIBLE
SUPPRESSWARNINGS
Virtual method for the implementing class to override
Inherited
TESTVISIBLE
SUPPRESSWARNINGS
Virtual method for the implementing class to override