Development questions
How does System.TriggerOperation enum work in switch on Trigger.operationType?
Trigger.operationType returns a System.TriggerOperation enum value: BEFORE_INSERT, BEFORE_UPDATE, BEFORE_DELETE, AFTER_INSERT, AFTER_UPDATE, AFTER_DELETE, AFTER_UNDELETE. It replaces long chains of isBefore && isInsert checks.
apex
switch on Trigger.operationType {
when BEFORE_INSERT { handler.beforeInsert(Trigger.new); }
when AFTER_UPDATE { handler.afterUpdate(Trigger.new, Trigger.oldMap); }
when AFTER_DELETE { handler.afterDelete(Trigger.old); }
when else { }
}
apex-triggertriggercontext-variableshandler
More Development questions
- What is an Apex Trigger in Salesforce and when should you use it over Flows?
- What is the difference between before triggers and after triggers?
- Explain all Trigger context variables (isInsert, isUpdate, isDelete, isUndelete, isBefore, isAfter, isExecuting, size, operationType).
- What is the difference between Trigger.new and Trigger.old?
- In which trigger events are Trigger.new and Trigger.newMap available?
- In which trigger events are Trigger.old and Trigger.oldMap available?