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