Sha256: a56f8d9cf4674761999e953b1a8aa5be7e08aaf33a4bdabe960078ea54bfa6c3
Contents?: true
Size: 1.15 KB
Versions: 2
Compression:
Stored size: 1.15 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 developpers to make * core components loosely coupled. * * An example extention to add a custom PluginSource will be as following: * * class MyPluginSourceExtension * implements Extension, Module * { * public static class MyPluginSource * implements PluginSource * { * // ... * } * * @Override * public void configure(Binder binder) * { * Multibinder<PluginSource> multibinder = Multibinder.newSetBinder(binder, PluginSource.class); * multibinder.addBinding().to(MyPluginSource.class); * } * * @Override * public List<Module> getModules() * { * return ImmutableList.<Module>of(this); * } * } */ public interface Extension { public List<Module> getModules(ConfigSource systemConfig); }
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
embulk-0.2.0 | embulk-core/src/main/java/org/embulk/spi/Extension.java |
embulk-0.1.0 | embulk-core/src/main/java/org/embulk/spi/Extension.java |