View difference between Paste ID: KWU4fecY and tLF3Y7Et
SHOW: | | - or go back to the newest paste.
1-
public class MailConfiguration {
1+
public class MailConfiguration {
2-
2+
3-
  private AddressesPart addressesPart;
3+
  private AddressesPart addressesPart;
4-
4+
5-
  private String subject;
5+
  private String subject;
6-
6+
7-
  private FilesAttachments filesAttachments;
7+
  private FilesAttachments filesAttachments;
8-
8+
9-
  private String bodyPart;
9+
  private String bodyPart;
10-
10+
11-
  public MailConfiguration(AddressesPart addressesPart, String subject, FilesAttachments filesAttachements,
11+
  public MailConfiguration(AddressesPart addressesPart, String subject, FilesAttachments filesAttachements,
12-
    String bodyPart) {
12+
    String bodyPart) {
13-
    Validate.notNull(addressesPart, "addressesPart must not be null");
13+
    Validate.notNull(addressesPart, "addressesPart must not be null");
14-
    Validate.notNull(subject, "subject must not be null");
14+
    Validate.notNull(subject, "subject must not be null");
15-
    Validate.notNull(filesAttachments, "filesAttachments must not be null");
15+
    Validate.notNull(filesAttachments, "filesAttachments must not be null");
16-
    Validate.notNull(bodyPart, "bodyPart must not be null");
16+
    Validate.notNull(bodyPart, "bodyPart must not be null");
17-
    this.addressesPart = addressesPart;
17+
    this.addressesPart = addressesPart;
18-
    this.subject = subject;
18+
    this.subject = subject;
19-
    this.filesAttachements = filesAttachements;
19+
    this.filesAttachements = filesAttachements;
20-
    this.bodyPart = bodyPart;
20+
    this.bodyPart = bodyPart;
21-
  }
21+
  }
22-
  // ...  some useful getters ......
22+
  // ...  some useful getters ......
23-
23+
24
}
25
	
26-
public class AddressesPart {
26+
public class AddressesPart {
27-
27+
28-
  private final String senderAddress;
28+
  private final String senderAddress;
29-
29+
30-
  private final Set recipientToMailAddresses;
30+
  private final Set recipientToMailAddresses;
31-
31+
32-
  private final Set recipientCCMailAdresses;
32+
  private final Set recipientCCMailAdresses;
33-
33+
34-
  public AddressesPart(String senderAddress, Set recipientToMailAddresses, Set recipientCCMailAdresses) {
34+
  public AddressesPart(String senderAddress, Set recipientToMailAddresses, Set recipientCCMailAdresses) {
35-
    validate(senderAddress, recipientToMailAddresses, recipientCCMailAdresses);
35+
    validate(senderAddress, recipientToMailAddresses, recipientCCMailAdresses);
36-
    this.senderAddress = senderAddress;
36+
    this.senderAddress = senderAddress;
37-
    this.recipientToMailAddresses = recipientToMailAddresses;
37+
    this.recipientToMailAddresses = recipientToMailAddresses;
38-
    this.recipientCCMailAdresses = recipientCCMailAdresses;
38+
    this.recipientCCMailAdresses = recipientCCMailAdresses;
39-
  }
39+
  }
40-
40+
41-
  private void validate(String senderAddress, Set recipientToMailAddresses, Set recipientCCMailAdresses) {
41+
  private void validate(String senderAddress, Set recipientToMailAddresses, Set recipientCCMailAdresses) {
42-
    AddressValidator addressValidator = new AddressValidator();
42+
    AddressValidator addressValidator = new AddressValidator();
43-
    addressValidator.validate(senderAddress);
43+
    addressValidator.validate(senderAddress);
44-
    addressValidator.validate(recipientToMailAddresses);
44+
    addressValidator.validate(recipientToMailAddresses);
45-
    addressValidator.validate(recipientCCMailAdresses);
45+
    addressValidator.validate(recipientCCMailAdresses);
46-
  }
46+
  }
47-
47+
48-
  public String getSenderAddress() {
48+
  public String getSenderAddress() {
49-
    return senderAddress;
49+
    return senderAddress;
50-
  }
50+
  }
51-
51+
52-
  public Set getRecipientToMailAddresses() {
52+
  public Set getRecipientToMailAddresses() {
53-
    return recipientToMailAddresses;
53+
    return recipientToMailAddresses;
54-
  }
54+
  }
55-
55+
56-
  public Set getRecipientCCMailAdresses() {
56+
  public Set getRecipientCCMailAdresses() {
57-
    return recipientCCMailAdresses;
57+
    return recipientCCMailAdresses;
58-
  }
58+
  }
59-
59+
60
}
61
	
62-
public class AddressValidator {
62+
public class AddressValidator {
63-
63+
64-
  private static final String EMAIL_PATTERN
64+
  private static final String EMAIL_PATTERN
65-
    = "^[_A-Za-z0-9-]+(\.[_A-Za-z0-9-]+)*@[A-Za-z0-9]+(\.[A-Za-z0-9]+)*(\.[A-Za-z]{2,})$";
65+
    = "^[_A-Za-z0-9-]+(\.[_A-Za-z0-9-]+)*@[A-Za-z0-9]+(\.[A-Za-z0-9]+)*(\.[A-Za-z]{2,})$";
66-
66+
67-
  public void validate(String address) {
67+
  public void validate(String address) {
68-
    validate(Collections.singleton(address));
68+
    validate(Collections.singleton(address));
69-
  }
69+
  }
70-
70+
71-
  public void validate(Set addresses) {
71+
  public void validate(Set addresses) {
72-
    Validate.notNull(addresses, "List of mail addresses must not be null");
72+
    Validate.notNull(addresses, "List of mail addresses must not be null");
73-
    for (Iterator it = addresses.iterator(); it.hasNext(); ) {
73+
    for (Iterator it = addresses.iterator(); it.hasNext(); ) {
74-
      String address = (String) it.next();
74+
      String address = (String) it.next();
75-
      Validate.isTrue(address != null && isAddressWellFormed(address), "Invalid Mail address " + address);
75+
      Validate.isTrue(address != null && isAddressWellFormed(address), "Invalid Mail address " + address);
76-
    }
76+
    }
77-
  }
77+
  }
78-
78+
79-
  private boolean isAddressWellFormed(String address) {
79+
  private boolean isAddressWellFormed(String address) {
80-
    Pattern emailPattern = Pattern.compile(EMAIL_PATTERN);
80+
    Pattern emailPattern = Pattern.compile(EMAIL_PATTERN);
81-
    Matcher matcher = emailPattern.matcher(address);
81+
    Matcher matcher = emailPattern.matcher(address);
82-
    return matcher.matches();
82+
    return matcher.matches();
83-
  }
83+
  }
84
}
85
	
86-
public AddressValidator(IValidator myValidator) {
86+
public AddressValidator(IValidator myValidator) {
87-
   this.validator = myValidator;
87+
   this.validator = myValidator;
88
}
89
	
90
this.senderAddress = requiresNonNull(senderAddress);
91
	
92-
this.recipientToMailAddresses = validate(new HashSet<String>(
92+
this.recipientToMailAddresses = validate(new HashSet<String>(
93-
        recipientToMailAddresses
93+
        recipientToMailAddresses
94
    ));