Note: This release is in preview. Features described here don’t become generally available until the latest general availability date that Salesforce announces for this release. Before then, and where features are noted as beta, pilot, or developer preview, we can’t guarantee general availability within any particular time frame or at all. Make your purchase decisions only on the basis of generally available products and features.
ComplianceEvaluation Interface
Namespace
Usage
Evaluates compliance by passing the parameter name and value.
ComplianceEvaluation Methods
The ComplianceEvaluation interface includes these methods.
evaluate(var1)
Signature
public ComplianceMgmt.ComplianceEvaluationResponse evaluate(ComplianceMgmt.ControlEvaluationInput var1)
1ComplianceMgmt.ComplianceEvaluation, evaluate, [ComplianceMgmt.ControlEvaluationInput], ComplianceMgmt.ComplianceEvaluationResponseParameters
- 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
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 }