com.xellitix.commons.api.ApiModule Maven / Gradle / Ivy
package com.xellitix.commons.api;
import com.google.inject.AbstractModule;
import com.google.inject.assistedinject.FactoryModuleBuilder;
import com.xellitix.commons.net.compat.java.JavaNetCompatibilityModule;
/**
* API Guice module.
*
* @author Grayson Kuhns
*/
public class ApiModule extends AbstractModule {
/**
* Configures the module.
*/
@Override
protected void configure() {
install(new JavaNetCompatibilityModule());
bind(ResourcePathExtractor.class).to(DefaultResourcePathExtractor.class);
install(new FactoryModuleBuilder()
.implement(ResourceReference.class, DefaultResourceReference.class)
.build(ResourceReferenceFactory.class));
bind(JaxRsResourceReferenceBuilder.class).to(DefaultJaxRsResourceReferenceBuilder.class);
// Model - resource resolution
bind(ResourceModelMapper.class).to(ClassGraphResourceModelMapper.class);
bind(ModelResourcePathResolver.class).to(DefaultModelResourcePathResolver.class);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy