Sha256: 6ca9aa80ce2777aff2dc61fbc007e024caba6647c4baf541fd31bc131a45a413

Contents?: true

Size: 1.19 KB

Versions: 2

Compression:

Stored size: 1.19 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.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 BuiltinPluginSourceModule());
        modules.add(new JRubyScriptingModule(systemConfig));
        modules.addAll(getAdditionalModules());
        injector = Guice.createInjector(modules.build());
    }

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

    public Injector getInjector()
    {
        return injector;
    }
}

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
embulk-0.2.0 embulk-core/src/main/java/org/embulk/EmbulkService.java
embulk-0.1.0 embulk-core/src/main/java/org/embulk/EmbulkService.java