Completed
Pull Request — master (#44)
by Filip
03:14
created

com.hltech.vaunt.validator.ValidationResult   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 23
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 17
c 1
b 0
f 0
dl 0
loc 23
rs 10
wmc 3

3 Methods

Rating   Name   Duplication   Size   Complexity  
A success(Contract,Contract) 0 5 1
A failure(Contract,ValidationError) 0 2 1
A failure(Contract,List,ValidationError) 0 6 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
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, Contract capability) {
17
        return new ValidationResult(
18
                true,
19
                String.format("Expectation: %s, capability: %s", expectation, capability),
20
                new ArrayList<>());
21
    }
22
23
    static ValidationResult failure(Contract expectation, ValidationError... errors) {
24
        return new ValidationResult(false, String.format("Expectation: %s", expectation), Arrays.asList(errors));
25
    }
26
27
    static ValidationResult failure(
28
            Contract expectation, List<Contract> capabilities, ValidationError... errors) {
29
        return new ValidationResult(
30
                false,
31
                String.format("Expectation: %s, capabilities: %s", expectation, capabilities),
32
                Arrays.asList(errors));
33
    }
34
}
35