Advertisement
Guest User

Untitled

a guest
May 7th, 2017
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.56 KB | None | 0 0
  1. public Class MailConfiguration{
  2.  
  3. public static String userName;
  4. public static String password;
  5. public static EmailServiceProvider emailService;
  6. }
  7.  
  8. public Class MailInit{
  9.  
  10. public void initialConfiguration(String userName, String password, String emailService ){
  11. MailConfiguration.userName = userName;
  12. MailConfiguration.password = password;
  13. if(emailService == "google"){
  14. MailConfiguration.emailService = Class.forName('GmailEmailProvider').getInstance();
  15. }
  16.  
  17. else{
  18. MailConfiguration.emailService = Class.forName('YahooEmailProvider').getInstance();
  19. }
  20. }
  21. }
  22.  
  23.  
  24. public Interface EmailServiceProvider{
  25.  
  26. public Connection connect(String userName, String password);
  27. public void sendEmail(String recipient, String subject, String messageBody);
  28. public String receiveEmail();
  29. }
  30.  
  31. public Class GoogleEmailProvider implements EmailServiceProvider{
  32.  
  33. private GMailLowLevelConnection gmailLowLevelConnection;
  34.  
  35. @Override
  36. public connect(String userName, String password){
  37.  
  38. GMailLowLevelClass gmailLowLevelClassObject = new GMailLowLevelClass();
  39. this.gmailLowLevelConnection = gmailLowLevelClassObject.connect(String userName, String password);
  40. }
  41.  
  42. @Override
  43. public sendEmail(String recipient, String subject, String messageBody){
  44.  
  45. this.gmailLowLevelConnection.send(recipient, subject , messageBody );
  46. }
  47.  
  48. @Override
  49. public String receiveEmail(){
  50.  
  51. return this.gmailLowLevelConnection.receiveEmail();
  52. }
  53. }
  54.  
  55.  
  56. public Class YahooEmailService implements EmailService{
  57.  
  58. private YahooMailLowLevelConnection yahooLowLevelConnection;
  59.  
  60. @Override
  61. public connect(String userName, String password){
  62.  
  63. YahooLowLevelClass yahooLowLevelClassObject = new YahooLowLevelClass();
  64. this.yahooLowLevelConnection = yahooLowLevelClassObject.connect(String userName, String password);
  65. }
  66.  
  67.  
  68. @Override
  69. public sendEmail(String recipient, String subject, String messageBody){
  70.  
  71. this.yahooLowLevelConnection.send(recipient, subject , messageBody );
  72. }
  73.  
  74. @Override
  75. public String receiveEmail(){
  76.  
  77. return this.yahooLowLevelConnection.receiveEmail();
  78. }
  79. }
  80.  
  81.  
  82. public Class Mail{
  83.  
  84. public void sendEmail(String recipient, String subject, String messageBody){
  85.  
  86. MailConfiguration.emailService.connect(MailConfiguration.userName, MailConfiguration.password);
  87. MailConfiguration.emailService.send(recipient, subject,messageBody);
  88. }
  89.  
  90. public String receiveEmail(){
  91.  
  92. MailConfiguration.emailService.connect(MailConfiguration.userName, MailConfiguration.password);
  93. return MailConfiguration.emailService.receive();
  94. }
  95. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement