Skip to content

LogTriggerHandler

codefriar edited this page Oct 5, 2023 · 2 revisions

STATUS: ACTIVE

Class handles the post-insert processing of Log events
Extends the TriggerFramework class
Enables the user to define if this handler should silently ignore errors thrown by dml, or if it should throw a log exception

Inheritance

TriggerFramework > LogTriggerHandler

Constructors

public LogTriggerHandler(List<Log__e> logs, Boolean shouldThrow)

Constructor, called by trigger.

Parameters

Param Description
logs Logs to process
shouldThrow if true, this class will throw a log exception when DML errors occur.

public LogTriggerHandler(List<Log__e> logs)

convenience constructor, calls previous constructor but will not throw a log exception on dml errors

Parameters

Param Description
logs logs to process

Fields

public bypassedHandlersSet<String>

Inherited

a set of handler names that are bypassed

private logsList<Log__e>

private shouldThrowBoolean

protected triggerContextTriggerContext

Inherited TESTVISIBLE

the current context of the trigger, override-able in tests


Methods

public override void afterInsert()

Overridden from TriggerFramework. TriggerFramework executes this method when the trigger context is after insert

Throws

Exception Description
LogException on Database.insert failure isSuccess is false

public void run()

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

Example

AccountTriggerFramework.run();

protected Boolean standardValidationFails()

Inherited

A method to guard against invalid execution contexts

Returns

Type Description
Boolean true if the execution context is invalid or if this trigger handler is bypassed

public void setMaxLoopCount(Integer max)

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.

Parameters

Param Description
max A valid number (generally 1) of times you'd like to allow the trigger to run.

Example

In the context of a TriggerFramework class,
this.setMaxLoopCount(5);

public void clearMaxLoopCount()

Inherited

Allows developers to turn off the max loop count

Example

In the context of a TriggerFramework class,
this.clearMaxLoopCount();

public static void bypass(String handlerName)

Inherited

Allows developers to conditionally bypass (disable) other triggers that also implement this TriggerFramework

Parameters

Param Description
handlerName Class name (String) of the trigger handler to bypass

Example

TriggerFramework.bypass('AccountTriggerFramework');

public static void clearBypass(String handlerName)

Inherited

Removes a given trigger handler class name from the list of bypassed trigger handlers.

Parameters

Param Description
handlerName Handler class name to remove from the bypass list

Example

TriggerFramework.clearBypass('AccountTriggerFramework');

public static Boolean isBypassed(String handlerName)

Inherited

Allows developers to check whether a given trigger handler class is currently bypassed.

Parameters

Param Description
handlerName The name of the trigger handler class to check for

Returns

Type Description
Boolean Boolean

Example

TriggerFramework.isBypassed('AccountTriggerFramework');

public static void clearAllBypasses()

Inherited

removes all classes from the bypass list

Example

TriggerFramework.clearAllBypasses();

protected void addToLoopCount()

Inherited

TESTVISIBLE

private instance methods

protected String getHandlerName()

Inherited

TESTVISIBLE

Returns the string version of the handler class being invoked

Returns

Type Description
String String Name of the Handler

protected void beforeInsert()

Inherited

TESTVISIBLE

SUPPRESSWARNINGS

context methods

protected void beforeUpdate()

Inherited

TESTVISIBLE

SUPPRESSWARNINGS

Virtual method for the implementing class to override

protected void beforeDelete()

Inherited

TESTVISIBLE

SUPPRESSWARNINGS

Virtual method for the implementing class to override

protected void afterUpdate()

Inherited

TESTVISIBLE

SUPPRESSWARNINGS

Virtual method for the implementing class to override

protected void afterDelete()

Inherited

TESTVISIBLE

SUPPRESSWARNINGS

Virtual method for the implementing class to override

protected void afterUndelete()

Inherited

TESTVISIBLE

SUPPRESSWARNINGS

Virtual method for the implementing class to override


Clone this wiki locally