package uk.bl.odin.orcid.guice;
import uk.bl.odin.orcid.guice.SelfInjectingServerResource.MembersInjector;
import com.google.inject.AbstractModule;
import com.google.inject.Injector;
import com.google.inject.Provides;
/**
* Install this module to arrange for SelfInjectingServerResource instances to
* have their members injected (idempotently) by the doInit method (which is
* called automatically after construction).
*
* Incubator code. Not available in maven
*
* @see https
* ://github.com/restlet/restlet-framework-java/blob/master/incubator/org
* .restlet
* .ext.guice/src/org/restlet/ext/guice/SelfInjectingServerResourceModule
* .java
* @author Tembrel
*/
public class SelfInjectingServerResourceModule extends AbstractModule {
@Override
protected final void configure() {
requestStaticInjection(SelfInjectingServerResource.class);
}
@Provides
MembersInjector membersInjector(final Injector injector) {
return new MembersInjector() {
public void injectMembers(Object object) {
injector.injectMembers(object);
}
};
}
}