class Embulk::OutputPlugin

def self.cleanup(task, schema, count, task_reports)

def self.cleanup(task, schema, count, task_reports)
  # do nothing by default
end

def self.from_java(java_class)

def self.from_java(java_class)
  JavaPlugin.ruby_adapter_class(java_class, OutputPlugin, RubyAdapter)
end

def self.new_java

def self.new_java
  JavaAdapter.new(self)
end

def self.resume(task, schema, count, &control)

def self.resume(task, schema, count, &control)
  raise NotImplementedError, "#{self}.resume(task, schema, count, &control) is not implemented. This plugin is not resumable"
end

def self.transaction(config, schema, task_count, &control)

def self.transaction(config, schema, task_count, &control)
  yield(config)
  return {}
end

def abort

def abort
end

def add(page)

def add(page)
  raise NotImplementedError, "OutputPlugin#add(page) must be implemented"
end

def close

def close
end

def commit

def commit
  {}
end

def finish

def finish
end

def init

def init
end

def initialize(task, schema, index)

def initialize(task, schema, index)
  @task = task
  @schema = schema
  @index = index
  init
end