Sha256: 73b928eba3d378bbbab024afbb711733e7190573b381d37fdff4fb161598f2fc

Contents?: true

Size: 1.34 KB

Versions: 3

Compression:

Stored size: 1.34 KB

Contents

package org.embulk;

import com.google.common.collect.ImmutableList;
import com.google.inject.Guice;
import com.google.inject.Injector;
import com.google.inject.Module;
import org.embulk.config.ConfigSource;
import org.embulk.exec.SystemConfigModule;
import org.embulk.exec.ExecModule;
import org.embulk.exec.ExtensionServiceLoaderModule;
import org.embulk.plugin.PluginClassLoaderModule;
import org.embulk.plugin.BuiltinPluginSourceModule;
import org.embulk.jruby.JRubyScriptingModule;

public class EmbulkService
{
    protected final Injector injector;

    public EmbulkService(ConfigSource systemConfig)
    {
        ImmutableList.Builder<Module> modules = ImmutableList.builder();
        modules.add(new SystemConfigModule(systemConfig));
        modules.add(new ExecModule());
        modules.add(new ExtensionServiceLoaderModule(systemConfig));
        modules.add(new PluginClassLoaderModule(systemConfig));
        modules.add(new BuiltinPluginSourceModule());
        modules.add(new JRubyScriptingModule(systemConfig));
        modules.addAll(getAdditionalModules(systemConfig));
        injector = Guice.createInjector(modules.build());
    }

    protected Iterable<? extends Module> getAdditionalModules(ConfigSource systemConfig)
    {
        return ImmutableList.of();
    }

    public Injector getInjector()
    {
        return injector;
    }
}

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
embulk-0.6.18 embulk-core/src/main/java/org/embulk/EmbulkService.java
embulk-0.6.17 embulk-core/src/main/java/org/embulk/EmbulkService.java
embulk-0.6.16 embulk-core/src/main/java/org/embulk/EmbulkService.java