package com.venky.swf.plugins.mail.core;
import java.util.HashMap;
import java.util.Map;
import com.venky.swf.plugins.mail.core.grid.SendGridMailer;
import com.venky.swf.plugins.mail.core.smtp.SMTPMailer;
public class MailerFactory {
private static MailerFactory instance = null;
public static MailerFactory instance(){
if (instance != null){
return instance;
}
synchronized (MailerFactory.class) {
if (instance == null){
instance = new MailerFactory();
}
}
return instance;
}
private MailerFactory() {
mailer.put("SMTP", new SMTPMailer());
mailer.put("SENDGRID", new SendGridMailer());
}
private Map<String,Mailer> mailer = new HashMap<String, Mailer>();
public Mailer getMailer(String protocol){
Mailer m = mailer.get(protocol);
if (m == null){
throw new RuntimeException("Mailer not configured for protocol " + protocol);
}
return m;
}
}