package dslab.rmi.stub.dmtp; import dslab.routing.Address; import java.util.ArrayList; import java.util.List; import static dslab.util.Utils.listElements; public class AddressValidationResult { private final List
valid; private final List
invalid; private final List
ignored; public AddressValidationResult(ArrayList
valid, ArrayList
invalid, ArrayList
ignored) { this.valid = valid; this.invalid = invalid; this.ignored = ignored; } public List
getValid() { return valid; } public boolean hasInvalid() { return !invalid.isEmpty(); } public AddressValidationException asException() { return new AddressValidationException(invalid); } public List
getValidAndIgnored() { var result = new ArrayList
(); result.addAll(ignored); result.addAll(valid); return result; } public static class AddressValidationException extends Exception { private final List
invalidAddresses; public AddressValidationException(List
invalidAddresses) { super("The following recipients were invalid: " + listElements(invalidAddresses)); this.invalidAddresses = invalidAddresses; } public List
getInvalidAddresses() { return invalidAddresses; } } }