use of org.graylog2.web.PluginUISettingsProvider in project graylog2-server by Graylog2.
the class PluginBindings method configure.
@Override
protected void configure() {
final Multibinder<Plugin> pluginbinder = Multibinder.newSetBinder(binder(), Plugin.class);
final Multibinder<PluginMetaData> pluginMetaDataBinder = Multibinder.newSetBinder(binder(), PluginMetaData.class);
// Make sure there is a binding for the plugin rest resource classes to avoid binding errors when running
// without plugins.
MapBinder.newMapBinder(binder(), new TypeLiteral<String>() {
}, new TypeLiteral<Class<? extends PluginRestResource>>() {
}).permitDuplicates();
// Make sure there is a binding for the PluginUISettingsProvider classes to avoid binding errors when running
// without plugins
MapBinder.newMapBinder(binder(), String.class, PluginUISettingsProvider.class).permitDuplicates();
for (final Plugin plugin : plugins) {
pluginbinder.addBinding().toInstance(plugin);
for (final PluginModule pluginModule : plugin.modules()) {
binder().install(pluginModule);
}
pluginMetaDataBinder.addBinding().toInstance(plugin.metadata());
}
}
Aggregations