Skip to content

UTIL_FormulaContext.CaseContext

Class

apex
global inherited sharing class UTIL_FormulaContext.CaseContext implements UTIL_FormulaFilter.INT_SObjectFormulaEvaluationContext

Implements: UTIL_FormulaFilter.INT_SObjectFormulaEvaluationContext

Formula evaluation context for Case object. Provides typed access to Case records in formula evaluations. Auto-detected by Trigger Action Framework when EntryCriteriaContextClassName__c is blank. Can also be used directly in custom Apex. Note: Class is named CaseContext because Case is an Apex reserved keyword. Formula Variable Names: oldRecord, newRecord

Example

apex
// Trigger Action Framework formulas:
// newRecord.Priority = "High"
// newRecord.Status <> oldRecord.Status
// newRecord.IsClosed && NOT(oldRecord.IsClosed)
// Direct Apex usage:
FormulaEval.FormulaInstance formula = Formula.builder()
    .withFormula('newRecord.IsEscalated && newRecord.Priority = "High"')
    .withReturnType(FormulaEval.FormulaReturnType.BOOLEAN)
    .withType(UTIL_FormulaContext.CaseContext.class)
    .build();
UTIL_FormulaContext.CaseContext context = new UTIL_FormulaContext.CaseContext();
context.setContext(null, caseRecord); // null = no old record (insert scenario)
Boolean matches = (Boolean)formula.evaluate(context);

See Also: UTIL_FormulaFilter.INT_SObjectFormulaEvaluationContext


Fields

FieldDescription
global Case newRecordCase record state AFTER DML (null on delete).
global Case oldRecordCase record state BEFORE DML (null on insert).

newRecord

apex
global Case newRecord

Type: Case

Case record state AFTER DML (null on delete).

Example

apex
Case value = instance.newRecord;

oldRecord

apex
global Case oldRecord

Type: Case

Case record state BEFORE DML (null on insert).

Example

apex
Case value = instance.oldRecord;