package org.mailster.smtp; import org.mailster.smtp.core.auth.AuthenticationHandler; import org.mailster.smtp.core.auth.AuthenticationHandlerFactory; import org.mailster.smtp.core.auth.LoginValidator; import org.mailster.smtp.core.auth.PluginAuthenticationHandler; import org.mailster.smtp.core.auth.impl.DummyAuthenticationHandler; import org.mailster.smtp.core.auth.impl.LoginAuthenticationHandler; import org.mailster.smtp.core.auth.impl.PlainAuthenticationHandler; /** * Implements a {@link PluginAuthenticationHandler} handler which * loads all implementations available except * {@link DummyAuthenticationHandler}. * * @see DummyAuthenticationHandler for exclusion reasons. * * @author De Oliveira Edouard <doe_wanted@yahoo.fr> */ public class AllSchemesAuthenticationHandler implements AuthenticationHandlerFactory { private LoginValidator validator; public AllSchemesAuthenticationHandler(LoginValidator validator) { this.validator = validator; } public AuthenticationHandler create() { PluginAuthenticationHandler ret = new PluginAuthenticationHandler(); ret.addPlugin(new PlainAuthenticationHandler(validator)); ret.addPlugin(new LoginAuthenticationHandler(validator)); return ret; } }