package codeine; import codeine.jsons.auth.IdentityConfJsonStore; import codeine.jsons.global.ExperimentalConfJsonStore; import codeine.jsons.global.GlobalConfigurationJsonStore; import codeine.jsons.global.UserPermissionsJsonStore; import codeine.jsons.labels.LabelJsonFromFileProvider; import codeine.jsons.labels.LabelJsonProvider; import codeine.servlet.RequestBodyReader; import com.google.gson.Gson; import com.google.gson.GsonBuilder; import com.google.inject.AbstractModule; import com.google.inject.Scopes; import com.google.inject.servlet.RequestScoped; public class CodeineGeneralModule extends AbstractModule { @Override protected void configure() { bind(Gson.class).toInstance(new GsonBuilder().setPrettyPrinting().create()); bind(LabelJsonProvider.class).to(LabelJsonFromFileProvider.class).in(Scopes.SINGLETON); bind(GlobalConfigurationJsonStore.class).in(Scopes.SINGLETON); bind(IdentityConfJsonStore.class).in(Scopes.SINGLETON); bind(UserPermissionsJsonStore.class).in(Scopes.SINGLETON); bind(ExperimentalConfJsonStore.class).in(Scopes.SINGLETON); bind(RequestBodyReader.class).in(RequestScoped.class); } }