package com.netflix.governator.internal; import com.google.inject.AbstractModule; import com.google.inject.Module; public final class ModulesEx { private static final Module EMPTY_MODULE = new AbstractModule() { @Override protected void configure() { } }; public static Module emptyModule() { return EMPTY_MODULE; } public static Module fromEagerSingleton(final Class<?> type) { return new AbstractModule() { @Override protected void configure() { bind(type).asEagerSingleton(); } }; } public static <T> Module fromInstance(final T object) { return new AbstractModule() { @Override protected void configure() { bind((Class<T>)object.getClass()).toInstance(object); this.requestInjection(object); } }; } }