package edu.pdx.cs410J.di; import com.google.inject.Singleton; import com.google.inject.servlet.ServletModule; import org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher; import java.io.File; /** * A Guice module that binds in all of the REST services and filters */ public class RestModule extends ServletModule { @Override protected void configureServlets() { bindRestServices(); bind(HttpServletDispatcher.class).in( Singleton.class ); serve( "/rest*" ).with( HttpServletDispatcher.class ); filter( "/rest*" ).through( RestLoggingFilter.class ); // The Logger is already bound by someone else (Resteasy, perhaps?) bind(File.class).annotatedWith(DataDirectory.class).toInstance(new File(System.getProperty("user.dir"))); bind(CreditCardDatabase.class).in(Singleton.class); } private void bindRestServices() { bind( RestfulCreditCardService.class); } }