package org.reuseware.air.util;
import java.util.Collection;
import java.util.HashSet;
/**
* Indicates errors during file processing. It contains a set of
* FileProcessingProblems.
*
* @author Jendrik Johannes
*/
public class FileProcessingException extends Exception {
private static final long serialVersionUID = 1L;
protected Collection<FileProcessingProblem> problems;
/**
* Constructs a new Exception for the collection of
* FileProcessingProblems.
*
* @param problems The problems.
*/
public FileProcessingException(Collection<FileProcessingProblem> problems) {
this.problems = problems;
}
/**
* Constructs a new Exception for a single
* FileProcessingProblem.
*
* @param problem The problem.
*/
public FileProcessingException(FileProcessingProblem problem) {
this.problems = new HashSet<FileProcessingProblem>();
this.problems.add(problem);
}
/**
* @return All included FileProcessingProblems.
*/
public Collection<FileProcessingProblem> getProblems() {
return problems;
}
public String toString() {
String s = "";
for(FileProcessingProblem p : problems) {
s += p.getMessage() + "\n";
}
return s;
}
}