ComplianceEvaluation Interface

Contains a method to evaluate compliance control. Add logic to compute compliance in the evaluate(var1) method by using the data from ControlEvaluationInput class.

Namespace

ComplianceMgmt

Usage

Evaluates compliance by passing the parameter name and value.

ComplianceEvaluation Methods

Learn more about the methods available with the ComplianceEvaluation interface.

The ComplianceEvaluation interface includes these methods.

evaluate(var1)

Evaluates compliance by using ControlEvaluationInput class.

Signature

public ComplianceMgmt.ComplianceEvaluationResponse evaluate(ComplianceMgmt.ControlEvaluationInput var1)

1ComplianceMgmt.ComplianceEvaluation, evaluate, [ComplianceMgmt.ControlEvaluationInput], ComplianceMgmt.ComplianceEvaluationResponse

Parameters

var1
Type: ComplianceMgmt.ControlEvaluationInput
The input class to perform an evaluation.

Return Value

Type: ComplianceMgmt.ComplianceEvaluationResponse

The output class that represents compliance evaluation response from a control evaluation.

ComplianceEvaluation Example Implementation

Refer to the example implementation of the ComplianceEvaluation interface to evaluate the compliance.

This is an example implementation of the ComplianceMgmt.ComplianceEvaluation interface.

1@VisibleApiVersion(minApiVersion='256')
2global interface ComplianceEvaluation {
3// Evaluates compliance by passing the parameter name/value.
4ComplianceEvaluationResponse evaluate(ControlEvaluationInput input);
5}

This example tests the implementation:

1global class TestImpl implements ComplianceMgmt.ComplianceEvaluation { 
2        global ComplianceMgmt.ComplianceEvaluationResponse evaluate(ComplianceMgmt.ControlEvaluationInput input) {  
3            ComplianceMgmt.ControlInput controlInput = new ComplianceMgmt.ControlInput('Param1', ComplianceMgmt.ControlInputType.RecordId);
4            Account account = [SELECT Name,ShippingCountry FROM Account WHERE Id=:input.getControlInputValue(controlInput)];
5            boolean iscompliant = false;
6            String complianceMessage = String.format(System.Label.testLabelWithMergeFields , new List<String>{ account.Name });
7            String complianceLogMessage = null;
8            if (account.ShippingCountry != 'USA') {
9                iscompliant = true;
10                complianceLogMessage = 'Is compliant';
11            } else {
12                complianceLogMessage = 'Not compliant';
13            }
14            ComplianceMgmt.EvaluationResult result = new ComplianceMgmt.EvaluationResult(iscompliant, complianceMessage, complianceLogMessage);
15            ComplianceMgmt.ComplianceControlLog logConfig = new ComplianceMgmt.ComplianceControlLog(); 
16            logConfig.addLog('key1', 'value1'); 
17            ComplianceMgmt.ComplianceEvaluationResponse response = new ComplianceMgmt.ComplianceEvaluationResponse(result, logConfig);
18            return response;
19        } 
20    }