salesforce.com‎ > ‎code‎ > ‎

[Trigger]テンプレート

2012/11/27 9:23 に Makoto Fukasu が投稿   [ 2013/05/15 8:37 に更新しました ]
【Apex Trigger】
trigger ObjectTrigger on Object__c(before insert, after insert, before update, after update, before delete, after delete, after undelete) { ObjectTriggerHandler handler = new ObjectTriggerHandler(Trigger.isExecuting, Trigger.size); if(Trigger.isInsert) { if(Trigger.isBefore) { handler.OnBeforeInsert(Trigger.new); } else if(Trigger.isAfter) { handler.OnAfterInsert(Trigger.new); } } else if(Trigger.isUpdate) { if(Trigger.isBefore) { handler.OnBeforeUpdate(Trigger.old, Trigger.new, Trigger.newMap); } else if(Trigger.isAfter) { handler.OnAfterUpdate(Trigger.old, Trigger.new, Trigger.newMap); } } else if(Trigger.isDelete) { if(Trigger.isBefore) { handler.OnBeforeDelete(Trigger.old, Trigger.oldMap); } else if(Trigger.isAfter) { handler.OnAfterDelete(Trigger.old, Trigger.oldMap); } } else if(Trigger.isUndelete) { handler.OnAfterUndelete(Trigger.new); } }
【Apex Class】
public with sharing class ObjectTriggerHandler { private boolean m_isExecuting = false; private Integer batchSize = 0; public ObjectTriggerHandler(boolean isExecuting, Integer size) { m_isExecuting = isExecuting; batchSize = size; } public void OnBeforeInsert(Object__c[] newObjects) { // TODO:LOGIC } public void OnAfterInsert(Object__c[] newObjects) { // TODO:LOGIC } public void OnBeforeUpdate(Object__c[] oldObjects, Object__c[] newObjects, Map newMap) { // TODO:LOGIC } public void OnAfterUpdate(Object__c[] oldObjects, Object__c[] newObjects, Map newMap) { // TODO:LOGIC } public void OnBeforeDelete(Object__c[] delObjects) { // TODO:LOGIC } public void OnAfterDelete(Object__c[] delObjects) { // TODO:LOGIC } public void OnAfterUndelete(Object__c[] restoredObjects) { // TODO:LOGIC } public boolean IsTriggerContext{ get{ return m_isExecuting; } } }
Comments