Skip to content

Commit 4a4feb8

Browse files
committed
Specify the method signature in a method that might throw an exception
1 parent 5c48e71 commit 4a4feb8

File tree

1 file changed

+59
-53
lines changed

1 file changed

+59
-53
lines changed

modules/simple-java-mail/src/main/java/org/simplejavamail/converter/internal/mimemessage/ImmutableDelegatingSMTPMessage.java

Lines changed: 59 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@
2222
import java.util.Date;
2323
import java.util.Enumeration;
2424

25+
import static java.lang.String.format;
26+
2527
/**
2628
* This class helps us use methods from SMTPMessage, while retaining an original MimeMessage as a delegate for everything else.
2729
* <p>
@@ -32,10 +34,14 @@
3234
*/
3335
public class ImmutableDelegatingSMTPMessage extends SMTPMessage {
3436

35-
private static final AssertionError UNSUPPORTED_PROTECTED_METHOD = new AssertionError("This method should not be used, "
36-
+ "nor can it be supported as this method is protected in the delegate. If it is still needed, we need to find "
37-
+ "a way around");
38-
private static final AssertionError MUTATION_NOT_SUPPORTED = new AssertionError("Further mutation is not allowed");
37+
private static AssertionError UNSUPPORTED_PROTECTED_METHOD(String s) {
38+
return new AssertionError(format("This method should not be used, nor can it be supported as this method " +
39+
"is protected in the delegate. If it is still needed, we need to find a way around: %s", s));
40+
}
41+
42+
private static AssertionError MUTATION_NOT_SUPPORTED(String s) {
43+
return new AssertionError(format("Further mutation is not allowed: %s", s));
44+
}
3945

4046
@NotNull
4147
private final MimeMessage delegate;
@@ -354,246 +360,246 @@ public boolean match(final SearchTerm term)
354360

355361
@Override
356362
public void setMessageNumber(final int msgnum) {
357-
throw UNSUPPORTED_PROTECTED_METHOD;
363+
throw UNSUPPORTED_PROTECTED_METHOD("setMessageNumber(int)");
358364
}
359365

360366
@Override
361367
public void setExpunged(final boolean expunged) {
362-
throw UNSUPPORTED_PROTECTED_METHOD;
368+
throw UNSUPPORTED_PROTECTED_METHOD("setExpunged(boolean)");
363369
}
364370

365371
@Override
366372
public void parse(final InputStream is) {
367-
throw UNSUPPORTED_PROTECTED_METHOD;
373+
throw UNSUPPORTED_PROTECTED_METHOD("parse(InputStream)");
368374
}
369375

370376
@Override
371377
public InputStream getContentStream() {
372-
throw UNSUPPORTED_PROTECTED_METHOD;
378+
throw UNSUPPORTED_PROTECTED_METHOD("getContentStream()");
373379
}
374380

375381
@Override
376382
public void updateMessageID() {
377-
throw UNSUPPORTED_PROTECTED_METHOD;
383+
throw UNSUPPORTED_PROTECTED_METHOD("updateMessageID()");
378384
}
379385

380386
@Override
381387
public void updateHeaders() {
382-
throw UNSUPPORTED_PROTECTED_METHOD;
388+
throw UNSUPPORTED_PROTECTED_METHOD("updateHeaders()");
383389
}
384390

385391
@Override
386392
public InternetHeaders createInternetHeaders(final InputStream is) {
387-
throw UNSUPPORTED_PROTECTED_METHOD;
393+
throw UNSUPPORTED_PROTECTED_METHOD("createInternetHeaders(InputStream)");
388394
}
389395

390396
@Override
391397
public MimeMessage createMimeMessage(final Session session) {
392-
throw UNSUPPORTED_PROTECTED_METHOD;
398+
throw UNSUPPORTED_PROTECTED_METHOD("createMimeMessage(Session)");
393399
}
394400

395401
@Override
396402
public void setEnvelopeFrom(final String from) {
397-
throw MUTATION_NOT_SUPPORTED;
403+
throw MUTATION_NOT_SUPPORTED("setEnvelopeFrom(String)");
398404
}
399405

400406
@Override
401407
public void setNotifyOptions(final int options) {
402-
throw MUTATION_NOT_SUPPORTED;
408+
throw MUTATION_NOT_SUPPORTED("setNotifyOptions(int)");
403409
}
404410

405411
@Override
406412
public void setReturnOption(final int option) {
407-
throw MUTATION_NOT_SUPPORTED;
413+
throw MUTATION_NOT_SUPPORTED("setReturnOption(int)");
408414
}
409415

410416
@Override
411417
public void setAllow8bitMIME(final boolean allow) {
412-
throw MUTATION_NOT_SUPPORTED;
418+
throw MUTATION_NOT_SUPPORTED("setAllow8bitMIME(boolean)");
413419
}
414420

415421
@Override
416422
public void setSendPartial(final boolean partial) {
417-
throw MUTATION_NOT_SUPPORTED;
423+
throw MUTATION_NOT_SUPPORTED("setSendPartial(boolean)");
418424
}
419425

420426
@Override
421427
public void setSubmitter(final String submitter) {
422-
throw MUTATION_NOT_SUPPORTED;
428+
throw MUTATION_NOT_SUPPORTED("setSubmitter(String)");
423429
}
424430

425431
@Override
426432
public void setMailExtension(final String extension) {
427-
throw MUTATION_NOT_SUPPORTED;
433+
throw MUTATION_NOT_SUPPORTED("setMailExtension(String)");
428434
}
429435

430436
@Override
431437
public void setFrom(final Address address) {
432-
throw MUTATION_NOT_SUPPORTED;
438+
throw MUTATION_NOT_SUPPORTED("setFrom(Address)");
433439
}
434440

435441
@Override
436442
public void setFrom(final String address){
437-
throw MUTATION_NOT_SUPPORTED;
443+
throw MUTATION_NOT_SUPPORTED("setFrom(String)");
438444
}
439445

440446
@Override
441447
public void setFrom(){
442-
throw MUTATION_NOT_SUPPORTED;
448+
throw MUTATION_NOT_SUPPORTED("setFrom()");
443449
}
444450

445451
@Override
446452
public void addFrom(final Address[] addresses){
447-
throw MUTATION_NOT_SUPPORTED;
453+
throw MUTATION_NOT_SUPPORTED("addFrom(Address[])");
448454
}
449455

450456
@Override
451457
public void setSender(final Address address){
452-
throw MUTATION_NOT_SUPPORTED;
458+
throw MUTATION_NOT_SUPPORTED("setSender(Address)");
453459
}
454460

455461
@Override
456462
public void setRecipients(final Message.RecipientType type, final Address[] addresses){
457-
throw MUTATION_NOT_SUPPORTED;
463+
throw MUTATION_NOT_SUPPORTED("setRecipients(RecipientType, Address[])");
458464
}
459465

460466
@Override
461467
public void setRecipients(final Message.RecipientType type, final String addresses){
462-
throw MUTATION_NOT_SUPPORTED;
468+
throw MUTATION_NOT_SUPPORTED("setRecipients(RecipientType, String)");
463469
}
464470

465471
@Override
466472
public void addRecipients(final Message.RecipientType type, final Address[] addresses){
467-
throw MUTATION_NOT_SUPPORTED;
473+
throw MUTATION_NOT_SUPPORTED("addRecipients(RecipientType, Address[])");
468474
}
469475

470476
@Override
471477
public void addRecipients(final Message.RecipientType type, final String addresses){
472-
throw MUTATION_NOT_SUPPORTED;
478+
throw MUTATION_NOT_SUPPORTED("addRecipients(RecipientType, String)");
473479
}
474480

475481
@Override
476482
public void setReplyTo(final Address[] addresses){
477-
throw MUTATION_NOT_SUPPORTED;
483+
throw MUTATION_NOT_SUPPORTED("setReplyTo(Address[])");
478484
}
479485

480486
@Override
481487
public void setSubject(final String subject){
482-
throw MUTATION_NOT_SUPPORTED;
488+
throw MUTATION_NOT_SUPPORTED("setSubject(String)");
483489
}
484490

485491
@Override
486492
public void setSubject(final String subject, final String charset){
487-
throw MUTATION_NOT_SUPPORTED;
493+
throw MUTATION_NOT_SUPPORTED("setSubject(String, String)");
488494
}
489495

490496
@Override
491497
public void setSentDate(final Date d){
492-
throw MUTATION_NOT_SUPPORTED;
498+
throw MUTATION_NOT_SUPPORTED("setSentDate(Date)");
493499
}
494500

495501
@Override
496502
public void setDisposition(final String disposition){
497-
throw MUTATION_NOT_SUPPORTED;
503+
throw MUTATION_NOT_SUPPORTED("setDisposition(String)");
498504
}
499505

500506
@Override
501507
public void setContentID(final String cid){
502-
throw MUTATION_NOT_SUPPORTED;
508+
throw MUTATION_NOT_SUPPORTED("setContentID(String)");
503509
}
504510

505511
@Override
506512
public void setContentMD5(final String md5){
507-
throw MUTATION_NOT_SUPPORTED;
513+
throw MUTATION_NOT_SUPPORTED("setContentMD5(String)");
508514
}
509515

510516
@Override
511517
public void setDescription(final String description){
512-
throw MUTATION_NOT_SUPPORTED;
518+
throw MUTATION_NOT_SUPPORTED("setDescription(String)");
513519
}
514520

515521
@Override
516522
public void setDescription(final String description, final String charset){
517-
throw MUTATION_NOT_SUPPORTED;
523+
throw MUTATION_NOT_SUPPORTED("setDescription(String, String)");
518524
}
519525

520526
@Override
521527
public void setContentLanguage(final String[] languages){
522-
throw MUTATION_NOT_SUPPORTED;
528+
throw MUTATION_NOT_SUPPORTED("setContentLanguage(String[])");
523529
}
524530

525531
@Override
526532
public void setFileName(final String filename){
527-
throw MUTATION_NOT_SUPPORTED;
533+
throw MUTATION_NOT_SUPPORTED("setFileName(String)");
528534
}
529535

530536
@Override
531537
public void setDataHandler(final DataHandler dh){
532-
throw MUTATION_NOT_SUPPORTED;
538+
throw MUTATION_NOT_SUPPORTED("setDataHandler(DataHandler)");
533539
}
534540

535541
@Override
536542
public void setContent(final Object o, final String type){
537-
throw MUTATION_NOT_SUPPORTED;
543+
throw MUTATION_NOT_SUPPORTED("setContent(Object, String)");
538544
}
539545

540546
@Override
541547
public void setText(final String text){
542-
throw MUTATION_NOT_SUPPORTED;
548+
throw MUTATION_NOT_SUPPORTED("setText(String)");
543549
}
544550

545551
@Override
546552
public void setText(final String text, final String charset){
547-
throw MUTATION_NOT_SUPPORTED;
553+
throw MUTATION_NOT_SUPPORTED("setText(String, String)");
548554
}
549555

550556
@Override
551557
public void setText(final String text, final String charset, final String subtype){
552-
throw MUTATION_NOT_SUPPORTED;
558+
throw MUTATION_NOT_SUPPORTED("setText(String, String, String)");
553559
}
554560

555561
@Override
556562
public void setContent(final Multipart mp){
557-
throw MUTATION_NOT_SUPPORTED;
563+
throw MUTATION_NOT_SUPPORTED("setContent(Multipart)");
558564
}
559565

560566
@Override
561567
public void setHeader(final String name, final String value){
562-
throw MUTATION_NOT_SUPPORTED;
568+
throw MUTATION_NOT_SUPPORTED("setHeader(String, String)");
563569
}
564570

565571
@Override
566572
public void addHeader(final String name, final String value){
567-
throw MUTATION_NOT_SUPPORTED;
573+
throw MUTATION_NOT_SUPPORTED("addHeader(String, String)");
568574
}
569575

570576
@Override
571577
public void removeHeader(final String name){
572-
throw MUTATION_NOT_SUPPORTED;
578+
throw MUTATION_NOT_SUPPORTED("removeHeader(String)");
573579
}
574580

575581
@Override
576582
public void addHeaderLine(final String line){
577-
throw MUTATION_NOT_SUPPORTED;
583+
throw MUTATION_NOT_SUPPORTED("addHeaderLine(String)");
578584
}
579585

580586
@Override
581587
public void setFlags(final Flags flag, final boolean set){
582-
throw MUTATION_NOT_SUPPORTED;
588+
throw MUTATION_NOT_SUPPORTED("setFlags(Flags, boolean)");
583589
}
584590

585591
@Override
586592
public void setRecipient(final Message.RecipientType type, final Address address){
587-
throw MUTATION_NOT_SUPPORTED;
593+
throw MUTATION_NOT_SUPPORTED("setRecipient(RecipientType, Address)");
588594
}
589595

590596
@Override
591597
public void addRecipient(final Message.RecipientType type, final Address address){
592-
throw MUTATION_NOT_SUPPORTED;
598+
throw MUTATION_NOT_SUPPORTED("addRecipient(RecipientType, Address)");
593599
}
594600

595601
@Override
596602
public void setFlag(final Flags.Flag flag, final boolean set){
597-
throw MUTATION_NOT_SUPPORTED;
603+
throw MUTATION_NOT_SUPPORTED("setFlag(Flag, boolean)");
598604
}
599605
}

0 commit comments

Comments
 (0)