package com.netflix.fabricator.archaius; import javax.inject.Singleton; import com.google.inject.AbstractModule; import com.google.inject.multibindings.MapBinder; import com.netflix.fabricator.ComponentConfigurationResolver; import com.netflix.fabricator.TypeConfigurationResolver; @Singleton public class ArchaiusConfigurationModule extends AbstractModule { @Override protected void configure() { MapBinder.newMapBinder(binder(), String.class, ComponentConfigurationResolver.class); bind(TypeConfigurationResolver.class).to(ArchaiusTypeConfigurationResolver.class); } // These implementations of hashCode and equals guarantee that Guice will dedup modules that installed multiple times @Override public int hashCode() { return getClass().hashCode(); } @Override public boolean equals(Object other) { return getClass().equals(other.getClass()); } }