Refactor project validation, add test
[jSite.git] / src / main / java / de / todesbaum / jsite / application / validation / CheckReport.java
1 package de.todesbaum.jsite.application.validation;
2
3 import java.util.ArrayList;
4 import java.util.Collection;
5 import java.util.Iterator;
6 import java.util.List;
7
8 import de.todesbaum.jsite.application.Project;
9
10 /**
11  * Container class that collects all warnings and errors that occured during
12  * {@link ProjectValidator#validateProject(Project) project validation}.
13  *
14  * @author <a href="mailto:bombe@pterodactylus.net">David ‘Bombe’ Roden</a>
15  */
16 public class CheckReport implements Iterable<Issue> {
17
18         private final List<Issue> issues = new ArrayList<>();
19
20         void addIssue(String errorKey, boolean fatal, String... parameters) {
21                 issues.add(new Issue(errorKey, fatal, parameters));
22         }
23
24         public Collection<Issue> getIssues() {
25                 return issues;
26         }
27
28         @Override
29         public Iterator<Issue> iterator() {
30                 return issues.iterator();
31         }
32
33         public boolean isEmpty() {
34                 return issues.isEmpty();
35         }
36
37 }