1 package club.wpia.gigi.passwords;
3 import club.wpia.gigi.GigiApiException;
6 * A {@link PasswordChecker} that delegates checks to several other PasswordCheckers
7 * and merges their error messages.
9 public class DelegatingPasswordChecker implements PasswordChecker {
11 private final PasswordChecker[] checkers;
13 public DelegatingPasswordChecker(PasswordChecker[] checkers) {
14 this.checkers = checkers;
18 public GigiApiException checkPassword(String password, String[] nameParts, String email) {
19 GigiApiException exception = new GigiApiException();
20 for (PasswordChecker checker : checkers) {
21 GigiApiException currentException = checker.checkPassword(password, nameParts, email);
22 if (currentException != null) {
23 exception.mergeInto(currentException);
26 if (exception.isEmpty()) {