
net.optionfactory.problems.Failure Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of problems Show documentation
Show all versions of problems Show documentation
A library to model and collect failures and map them as REST APIs responses
package net.optionfactory.problems;
import java.util.Arrays;
import java.util.List;
public class Failure extends RuntimeException {
public final List problems;
public Failure(List problems, Throwable cause) {
super("problems:" + problems, cause);
this.problems = problems;
}
public Failure(List problems, String reason) {
super("problems (" + reason + "):" + problems);
this.problems = problems;
}
public Failure(Problem problem, Throwable cause) {
super("problems:" + Arrays.asList(problem.toString()), cause);
this.problems = Arrays.asList(problem);
}
public Failure(Problem problem, String reason) {
super("problems (" + reason + "):" + Arrays.asList(problem.toString()));
this.problems = Arrays.asList(problem);
}
public Failure(List problems) {
super("problems:" + problems.toString());
this.problems = problems;
}
public Failure(Problem problem) {
super("problems:" + Arrays.asList(problem.toString()));
this.problems = Arrays.asList(problem);
}
public static void enforce(List problems) {
if (problems.isEmpty()) {
return;
}
throw new Failure(problems);
}
public static void enforce(List problems, String reason) {
if (problems.isEmpty()) {
return;
}
throw new Failure(problems, reason);
}
public static void enforce(List problems, Throwable cause) {
if (problems.isEmpty()) {
return;
}
throw new Failure(problems, cause);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy