forked from PacktPublishing/Java-Coding-Problems
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMain.java
More file actions
42 lines (30 loc) · 1.25 KB
/
Main.java
File metadata and controls
42 lines (30 loc) · 1.25 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
package modern.challenge;
import java.util.Set;
import javax.validation.ConstraintViolation;
import javax.validation.Validation;
import javax.validation.Validator;
public class Main {
public static void main(String[] args) {
User user;
Validator validator = Validation.buildDefaultValidatorFactory().getValidator();
User.UserBuilder userBuilder = new User.UserBuilder("monika", "klooi0988")
.email("monika@gmail.com")
.firstName("Monika")
.lastName("Gunther");
final Set<ConstraintViolation<User.UserBuilder>> violations
= validator.validate(userBuilder);
if (violations.isEmpty()) {
user = userBuilder.build();
System.out.println("User successfully created on: " + user.getCreated());
} else {
printConstraintViolations("UserBuilder Violations: ", violations);
}
}
private static <T> void printConstraintViolations(
String caption, Set<ConstraintViolation<T>> violations) {
System.out.println(caption);
violations.forEach((v) -> {
System.out.println("\t" + v.getPropertyPath() + " " + v.getMessage());
});
}
}