package module; import com.feth.play.module.mail.IMailer; import com.feth.play.module.mail.Mailer; import com.feth.play.module.mail.Mailer.MailerFactory; import com.feth.play.module.pa.Resolver; import com.feth.play.module.pa.providers.openid.OpenIdAuthProvider; import com.google.inject.AbstractModule; import com.google.inject.assistedinject.FactoryModuleBuilder; import play.api.Configuration; import play.api.Environment; import play.api.inject.Binding; import play.api.inject.Module; import providers.MyStupidBasicAuthProvider; import providers.MyUsernamePasswordAuthProvider; import scala.collection.Seq; import service.DataInitializer; import service.MyResolver; import service.MyUserService; /** * Initial DI module. */ public class MyModule extends AbstractModule { @Override protected void configure() { install(new FactoryModuleBuilder().implement(IMailer.class, Mailer.class).build(MailerFactory.class)); bind(Resolver.class).to(MyResolver.class); bind(DataInitializer.class).asEagerSingleton(); bind(MyUserService.class).asEagerSingleton(); //bind(GoogleAuthProvider.class).asEagerSingleton(); //bind(FacebookAuthProvider.class).asEagerSingleton(); //bind(FoursquareAuthProvider.class).asEagerSingleton(); bind(MyUsernamePasswordAuthProvider.class).asEagerSingleton(); bind(OpenIdAuthProvider.class).asEagerSingleton(); //bind(TwitterAuthProvider.class).asEagerSingleton(); //bind(LinkedinAuthProvider.class).asEagerSingleton(); //bind(VkAuthProvider.class).asEagerSingleton(); //bind(XingAuthProvider.class).asEagerSingleton(); //bind(UntappdAuthProvider.class).asEagerSingleton(); //bind(PocketAuthProvider.class).asEagerSingleton(); //bind(GithubAuthProvider.class).asEagerSingleton(); bind(MyStupidBasicAuthProvider.class).asEagerSingleton(); //bind(SpnegoAuthProvider.class).asEagerSingleton(); //bind(EventBriteAuthProvider.class).asEagerSingleton(); } }