package api;
import java.nio.file.Path;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
public class SimpleValidationResult implements ValidationResult {
private final List<Violation> violations = new ArrayList<>();
private final List<Warning> warnings = new ArrayList<>();
private final List<Path> files = new ArrayList<>();
private final List<Resource> resources = new ArrayList<>();
@Override
public void addWarning(Warning warning) {
warnings.add(warning);
Collections.sort(warnings);
}
@Override
public void addViolation(Violation violation) {
violations.add(violation);
Collections.sort(violations);
}
@Override
public void addFile(Path s) {
files.add(s);
resources.add(new Resource(s));
Collections.sort(files);
Collections.sort(resources);
}
@Override
public void addResource(Resource resource) {
resources.add(resource);
Collections.sort(resources);
}
@Override
public List<Violation> getViolations() {
return new ArrayList<>(violations);
}
@Override
public List<Warning> getWarnings() {
return new ArrayList<>(warnings);
}
@Override
public List<Resource> getResources() {
return new ArrayList<>(resources);
}
@Override
public List<Path> getFoundFiles() {
return new ArrayList<>(files);
}
@Override
public boolean equals(Object o) {
if (this == o)
return true;
if (o == null || getClass() != o.getClass())
return false;
SimpleValidationResult that = (SimpleValidationResult) o;
return Objects.equals(violations, that.violations) && Objects.equals(warnings, that.warnings) && Objects
.equals(files, that.files) && Objects.equals(resources, that.resources);
}
@Override
public int hashCode() {
return Objects.hash(violations, warnings, files, resources);
}
}