Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class MailConfiguration {
- private AddressesPart addressesPart;
- private String subject;
- private FilesAttachments filesAttachments;
- private String bodyPart;
- public MailConfiguration(AddressesPart addressesPart, String subject, FilesAttachments filesAttachements,
- String bodyPart) {
- Validate.notNull(addressesPart, "addressesPart must not be null");
- Validate.notNull(subject, "subject must not be null");
- Validate.notNull(filesAttachments, "filesAttachments must not be null");
- Validate.notNull(bodyPart, "bodyPart must not be null");
- this.addressesPart = addressesPart;
- this.subject = subject;
- this.filesAttachements = filesAttachements;
- this.bodyPart = bodyPart;
- }
- // ... some useful getters ......
- }
- public class AddressesPart {
- private final String senderAddress;
- private final Set recipientToMailAddresses;
- private final Set recipientCCMailAdresses;
- public AddressesPart(String senderAddress, Set recipientToMailAddresses, Set recipientCCMailAdresses) {
- validate(senderAddress, recipientToMailAddresses, recipientCCMailAdresses);
- this.senderAddress = senderAddress;
- this.recipientToMailAddresses = recipientToMailAddresses;
- this.recipientCCMailAdresses = recipientCCMailAdresses;
- }
- private void validate(String senderAddress, Set recipientToMailAddresses, Set recipientCCMailAdresses) {
- AddressValidator addressValidator = new AddressValidator();
- addressValidator.validate(senderAddress);
- addressValidator.validate(recipientToMailAddresses);
- addressValidator.validate(recipientCCMailAdresses);
- }
- public String getSenderAddress() {
- return senderAddress;
- }
- public Set getRecipientToMailAddresses() {
- return recipientToMailAddresses;
- }
- public Set getRecipientCCMailAdresses() {
- return recipientCCMailAdresses;
- }
- }
- public class AddressValidator {
- private static final String EMAIL_PATTERN
- = "^[_A-Za-z0-9-]+(\.[_A-Za-z0-9-]+)*@[A-Za-z0-9]+(\.[A-Za-z0-9]+)*(\.[A-Za-z]{2,})$";
- public void validate(String address) {
- validate(Collections.singleton(address));
- }
- public void validate(Set addresses) {
- Validate.notNull(addresses, "List of mail addresses must not be null");
- for (Iterator it = addresses.iterator(); it.hasNext(); ) {
- String address = (String) it.next();
- Validate.isTrue(address != null && isAddressWellFormed(address), "Invalid Mail address " + address);
- }
- }
- private boolean isAddressWellFormed(String address) {
- Pattern emailPattern = Pattern.compile(EMAIL_PATTERN);
- Matcher matcher = emailPattern.matcher(address);
- return matcher.matches();
- }
- }
- public AddressValidator(IValidator myValidator) {
- this.validator = myValidator;
- }
- this.senderAddress = requiresNonNull(senderAddress);
- this.recipientToMailAddresses = validate(new HashSet<String>(
- recipientToMailAddresses
- ));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement