Sha256: cf44cdd8bbbbfa1a088883608457d9d1897a1472033352660a3c9c8fdb568351

Contents?: true

Size: 1.95 KB

Versions: 4

Compression:

Stored size: 1.95 KB

Contents

package org.embulk.<%= embulk_category %>;

import java.util.List;
import org.embulk.config.CommitReport;
import org.embulk.config.Config;
import org.embulk.config.ConfigDefault;
import org.embulk.config.ConfigDiff;
import org.embulk.config.ConfigSource;
import org.embulk.config.Task;
import org.embulk.config.TaskSource;
import org.embulk.spi.Exec;
import org.embulk.spi.InputPlugin;
import org.embulk.spi.PageOutput;
import org.embulk.spi.Schema;
import org.embulk.spi.SchemaConfig;

public class <%= java_class_name %>
        implements InputPlugin
{
    public interface PluginTask
            extends Task
    {
        @Config("property1")
        public String getProperty1();

        @Config("property2")
        @ConfigDefault("0")
        public int getProperty2();

        // TODO get schema from config or data source
        @Config("columns")
        public SchemaConfig getColumns();
    }

    public ConfigDiff transaction(ConfigSource config,
            InputPlugin.Control control)
    {
        PluginTask task = config.loadConfig(PluginTask.class);

        Schema schema = task.getColumns().toSchema();
        int processorCount = 1;  // number of run() method calls

        return resume(task.dump(), schema, processorCount, control);
    }

    public ConfigDiff resume(TaskSource taskSource,
            Schema schema, int processorCount,
            InputPlugin.Control control)
    {
        control.run(taskSource, schema, processorCount);
        return Exec.newConfigDiff();
    }

    public void cleanup(TaskSource taskSource,
            Schema schema, int processorCount,
            List<CommitReport> successCommitReports)
    {
    }

    public CommitReport run(TaskSource taskSource,
            Schema schema, int processorIndex,
            PageOutput output)
    {
        PluginTask task = taskSource.loadTask(PluginTask.class);

        // TODO
        throw new UnsupportedOperationException("The 'run' method needs to be implemented");
    }
}

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
embulk-0.4.3 lib/embulk/data/new/java/input.java.erb
embulk-0.4.2 lib/embulk/data/new/java/input.java.erb
embulk-0.4.1 lib/embulk/data/new/java/input.java.erb
embulk-0.4.0 lib/embulk/data/new/java/input.java.erb