You need to sign in to do that
Don't have an account?
Chitral Chadda
Triger framework
https://developer.salesforce.com/page/Trigger_Frameworks_and_Apex_Trigger_Best_Practices
IN THIS link
IN THIS link
public class OpportunityTriggerHandler extends TriggerHandler { public OpportunityTriggerHandler() {} /* context overrides */ protected void override beforeUpdate() { setLostOppsToZero(); } protected void override afterInsert() { doSomeAfterInsertStuff(); } protected void override beforeDelete() { doSomeStuffBeforeDelete(); } /* private methods */ .... }
Here they have not defined triggerhandler class anywhere in the link provided
also, how is this done override , nothing specified :
/* context overrides */ protected void override beforeUpdate() { setLostOppsToZero(); } protected void override afterInsert() { doSomeAfterInsertStuff(); }
@TestVisible
protected virtual void beforeInsert(){}
@TestVisible
protected virtual void beforeUpdate(){}
@TestVisible
protected virtual void beforeDelete(){}
@TestVisible
protected virtual void afterInsert(){}
@TestVisible
protected virtual void afterUpdate(){}
@TestVisible
protected virtual void afterDelete(){}
@TestVisible
protected virtual void afterUndelete(){}
Now when the
OpportunityTriggerHandler extends this Interface, it can now override the methods defined in the interface as it has done:
protected void override beforeUpdate() { setLostOppsToZero(); } protected void override afterInsert() { doSomeAfterInsertStuff(); } protected void override beforeDelete() { doSomeStuffBeforeDelete(); }
Hoping this helps..if you still find it unclear with the concept, kindly go through
http://www.tutorialspoint.com/cplusplus/cpp_interfaces.htm
http://www.cs.utah.edu/~germain/PPS/Topics/interfaces.html