/* * Copyright @ 2013 CurisTEC, S.A.S. All Rights Reserved. */ package net.curisit.securis.ioc; import net.curisit.securis.services.ApiResource; import net.curisit.securis.services.ApplicationResource; import net.curisit.securis.services.BasicServices; import net.curisit.securis.services.LicenseResource; import net.curisit.securis.services.LicenseTypeResource; import net.curisit.securis.services.OrganizationResource; import net.curisit.securis.services.PackResource; import net.curisit.securis.services.UserResource; import com.google.inject.AbstractModule; /** * RequestsModule *
* Guice module that binds JAX-RS resource classes so they can be * injected and discovered by the DI container. *
* Notes: * - Currently binds resources explicitly. TODO JRA-Urgent: indicates a future * improvement to bind dynamically via reflection / classpath scanning. * * @author JRA * Last reviewed by JRA on Oct 7, 2025. */ public class RequestsModule extends AbstractModule { /** * configure
* Register resource types in the injector. */ @Override protected void configure() { // TODO JRA-Securis: Make the bind using reflection dynamically bind(BasicServices.class); bind(UserResource.class); bind(ApplicationResource.class); bind(LicenseTypeResource.class); bind(OrganizationResource.class); bind(ApiResource.class); bind(LicenseResource.class); bind(PackResource.class); } // Example provider (kept commented for reference) // @Provides // @RequestScoped // public User provideUser() { // return ResteasyProviderFactory.getContextData(User.class); // } }