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 | )); |