Sha256: b4d4ba20341dab4cc0376b3de836f833cb1090f3916b4726961cdd569125e832
Contents?: true
Size: 1.2 KB
Versions: 104
Compression:
Stored size: 1.2 KB
Contents
package org.embulk.spi; import java.util.List; import com.google.inject.Module; import org.embulk.config.ConfigSource; /** * Extension is a module to extend the execution framework using Guice. * Unlike plugins, extensions can overwrite or add core components such as * BufferManager, PluginSource, etc. * Extension is not designed for users but for framework developers to make * core components loosely coupled. * * An example extension to add a custom PluginSource will be as following: * * <code> * class MyPluginSourceExtension * implements Extension, Module * { * public static class MyPluginSource * implements PluginSource * { * // ... * } * * {@literal @}Override * public void configure(Binder binder) * { * Multibinder<PluginSource> multibinder = Multibinder.newSetBinder(binder, PluginSource.class); * multibinder.addBinding().to(MyPluginSource.class); * } * * {@literal @}Override * public List<Module> getModules() * { * return ImmutableList.<Module>of(this); * } * } * </code> */ public interface Extension { List<Module> getModules(ConfigSource systemConfig); }
Version data entries
104 entries across 104 versions & 1 rubygems