// Path: src/main/java/uk/bl/odin/orcid/guice/SelfInjectingServerResource.java
// public interface MembersInjector {
// 	void injectMembers(Object object);
// }


import uk.bl.odin.orcid.guice.SelfInjectingServerResource.MembersInjector;
import com.google.inject.AbstractModule;
import com.google.inject.Injector;
import com.google.inject.Provides;
package uk.bl.odin.orcid.guice;



/**
 * 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
// Path: src/main/java/uk/bl/odin/orcid/guice/SelfInjectingServerResource.java
// public interface MembersInjector {
// 	void injectMembers(Object object);
// }


// Path: src/main/java/uk/bl/odin/orcid/guice/SelfInjectingServerResourceModule.java
import uk.bl.odin.orcid.guice.SelfInjectingServerResource.MembersInjector;
import com.google.inject.AbstractModule;
import com.google.inject.Injector;
import com.google.inject.Provides;

package uk.bl.odin.orcid.guice;



/**
 * 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) {