|
|
@@ -18,28 +18,38 @@ public class ValidationException extends IllegalArgumentException {
|
|
|
@Getter List<ValidationException> causingExceptions;
|
|
|
|
|
|
private ValidationException(Either<String, Integer> path, String message,
|
|
|
- ValidationException... causes) {
|
|
|
+ List<ValidationException> causes) {
|
|
|
super(message);
|
|
|
this.jsonPath.add(path);
|
|
|
- this.causingExceptions = Collections.unmodifiableList(Arrays.asList(causes));
|
|
|
+ this.causingExceptions = Collections.unmodifiableList(new ArrayList<>(causes));
|
|
|
this.causingExceptions.forEach(ve -> ve.jsonPath.add(0, path));
|
|
|
}
|
|
|
|
|
|
public ValidationException(String key, String message) {
|
|
|
- this(Either.ofLeft(key), message);
|
|
|
+ this(Either.ofLeft(key), message, Collections.emptyList());
|
|
|
}
|
|
|
|
|
|
public ValidationException(int index, String message) {
|
|
|
- this(Either.ofRight(index), message);
|
|
|
+ this(Either.ofRight(index), message, Collections.emptyList());
|
|
|
}
|
|
|
|
|
|
public ValidationException(String key, String message,
|
|
|
ValidationException... causes) {
|
|
|
- this(Either.ofLeft(key), message, causes);
|
|
|
+ this(Either.ofLeft(key), message, Arrays.asList(causes));
|
|
|
}
|
|
|
|
|
|
public ValidationException(int index, String message,
|
|
|
ValidationException... causes) {
|
|
|
+ this(Either.ofRight(index), message, Arrays.asList(causes));
|
|
|
+ }
|
|
|
+
|
|
|
+ public ValidationException(String key, String message,
|
|
|
+ List<ValidationException> causes) {
|
|
|
+ this(Either.ofLeft(key), message, causes);
|
|
|
+ }
|
|
|
+
|
|
|
+ public ValidationException(int index, String message,
|
|
|
+ List<ValidationException> causes) {
|
|
|
this(Either.ofRight(index), message, causes);
|
|
|
}
|
|
|
|