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)
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' )
2 global interface ComplianceEvaluation {
3 // Evaluates compliance by passing the parameter name/value.
4 ComplianceEvaluationResponse evaluate ( ControlEvaluationInput input ) ;
5 }
This example tests the implementation:
1 global 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 }