package org.embulk.spi;
import java.util.List;
import org.embulk.config.TaskSource;
import org.embulk.config.ConfigSource;
import org.embulk.config.ConfigDiff;
import org.embulk.config.TaskReport;
public interface OutputPlugin
{
interface Control
{
List<TaskReport> run(TaskSource taskSource);
}
ConfigDiff transaction(ConfigSource config,
Schema schema, int taskCount,
OutputPlugin.Control control);
ConfigDiff resume(TaskSource taskSource,
Schema schema, int taskCount,
OutputPlugin.Control control);
void cleanup(TaskSource taskSource,
Schema schema, int taskCount,
List<TaskReport> successTaskReports);
TransactionalPageOutput open(TaskSource taskSource, Schema schema, int taskIndex);
}