Passed
Push — master ( 6972ed...f39369 )
by Filip
03:32
created

com.hltech.vaunt.validator.ValidationResult   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 25
Duplicated Lines 0 %

Importance

Changes 2
Bugs 0 Features 0
Metric Value
eloc 19
dl 0
loc 25
rs 10
c 2
b 0
f 0
wmc 3

3 Methods

Rating   Name   Duplication   Size   Complexity  
A failure(Contract,ValidationError) 0 2 1
A success(Contract) 0 8 1
A failure(Contract,Contract,ValidationError) 0 5 1
1
package com.hltech.vaunt.validator;
2
3
import com.hltech.vaunt.core.domain.model.Contract;
4
import lombok.Data;
5
6
import java.util.ArrayList;
7
import java.util.Arrays;
8
import java.util.List;
9
10
@Data
11
public class ValidationResult {
12
    private final boolean isValid;
13
    private final String description;
14
    private final List<ValidationError> errors;
15
16
    static ValidationResult success(Contract expectation) {
17
        return new ValidationResult(
18
                true,
19
                String.format("Matching contract: %s %s, %s",
20
                        expectation.getDestinationType(),
21
                        expectation.getDestinationName(),
22
                        expectation.getBody().getId()),
23
                new ArrayList<>());
24
    }
25
26
    static ValidationResult failure(Contract expectation, ValidationError... errors) {
27
        return new ValidationResult(false, String.format("Expectation: %s", expectation), Arrays.asList(errors));
28
    }
29
30
    static ValidationResult failure(Contract expectation, Contract capability, ValidationError... errors) {
31
        return new ValidationResult(
32
                false,
33
                String.format("Expectation: %s, Capability: %s", expectation, capability),
34
                Arrays.asList(errors));
35
    }
36
}
37