30 lines
772 B
Java
30 lines
772 B
Java
package dev.projectcapture.contenttools;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.Collections;
|
|
import java.util.List;
|
|
|
|
public final class ValidationReport {
|
|
private final List<ValidationIssue> issues = new ArrayList<>();
|
|
|
|
public void add(String code, String location, String message) {
|
|
issues.add(new ValidationIssue(code, location, message));
|
|
}
|
|
|
|
public void addAll(ValidationReport other) {
|
|
issues.addAll(other.issues);
|
|
}
|
|
|
|
public boolean isValid() {
|
|
return issues.isEmpty();
|
|
}
|
|
|
|
public List<ValidationIssue> issues() {
|
|
return Collections.unmodifiableList(issues);
|
|
}
|
|
|
|
public boolean containsCode(String code) {
|
|
return issues.stream().anyMatch(issue -> issue.code().equals(code));
|
|
}
|
|
}
|