Sha256: d89c5f723a4df40e0bd283ddc88157dd2c6bc0c5b5cf04b97ae5b5791f2438ea

Contents?: true

Size: 1.83 KB

Versions: 30

Compression:

Stored size: 1.83 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.FileOutputPlugin;
import org.embulk.spi.TransactionalFileOutput;

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

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

    @Override
    public ConfigDiff transaction(ConfigSource config, int taskCount,
            FileOutputPlugin.Control control)
    {
        PluginTask task = config.loadConfig(PluginTask.class);

        // retryable (idempotent) output:
        // return resume(task.dump(), taskCount, control);

        // non-retryable (non-idempotent) output:
        control.run(task.dump());
        return Exec.newConfigDiff();
    }

    @Override
    public ConfigDiff resume(TaskSource taskSource,
            int taskCount,
            FileOutputPlugin.Control control)
    {
        throw new UnsupportedOperationException("<%= name %> output plugin does not support resuming");
    }

    @Override
    public void cleanup(TaskSource taskSource,
            int taskCount,
            List<CommitReport> successCommitReports)
    {
    }

    @Override
    public TransactionalFileOutput open(TaskSource taskSource, final int taskIndex)
    {
        PluginTask task = taskSource.loadTask(PluginTask.class);

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

Version data entries

30 entries across 30 versions & 1 rubygems

Version Path
embulk-0.6.16 lib/embulk/data/new/java/file_output.java.erb
embulk-0.6.15 lib/embulk/data/new/java/file_output.java.erb
embulk-0.6.14 lib/embulk/data/new/java/file_output.java.erb
embulk-0.6.13 lib/embulk/data/new/java/file_output.java.erb
embulk-0.6.12 lib/embulk/data/new/java/file_output.java.erb
embulk-0.6.11 lib/embulk/data/new/java/file_output.java.erb
embulk-0.6.10 lib/embulk/data/new/java/file_output.java.erb
embulk-0.6.9 lib/embulk/data/new/java/file_output.java.erb
embulk-0.6.8 lib/embulk/data/new/java/file_output.java.erb
embulk-0.6.7 lib/embulk/data/new/java/file_output.java.erb
embulk-0.6.6 lib/embulk/data/new/java/file_output.java.erb
embulk-0.6.5 lib/embulk/data/new/java/file_output.java.erb
embulk-0.6.4 lib/embulk/data/new/java/file_output.java.erb
embulk-0.6.3 lib/embulk/data/new/java/file_output.java.erb
embulk-0.6.2 lib/embulk/data/new/java/file_output.java.erb
embulk-0.6.1 lib/embulk/data/new/java/file_output.java.erb
embulk-0.6.0 lib/embulk/data/new/java/file_output.java.erb
embulk-0.5.5 lib/embulk/data/new/java/file_output.java.erb
embulk-0.5.4 lib/embulk/data/new/java/file_output.java.erb
embulk-0.5.3 lib/embulk/data/new/java/file_output.java.erb