package tc.oc.commons.bukkit.settings;
import com.google.inject.Binder;
import com.google.inject.binder.LinkedBindingBuilder;
import com.google.inject.multibindings.MapBinder;
import me.anxuiz.settings.Setting;
import me.anxuiz.settings.SettingCallback;
/**
* Used to register {@link SettingCallback}s for specific {@link Setting}s
*/
public class SettingCallbackBinder {
private final MapBinder<Setting, SettingCallback> mapBinder;
public SettingCallbackBinder(Binder binder) {
mapBinder = MapBinder.newMapBinder(binder, Setting.class, SettingCallback.class)
.permitDuplicates();
}
public LinkedBindingBuilder<SettingCallback> changesIn(Setting setting) {
return mapBinder.addBinding(setting);
}
}