class Embulk::FormatterPlugin::JavaAdapter
def initialize(ruby_class)
def initialize(ruby_class) @ruby_class = ruby_class end
def open(java_task_source, java_schema, java_file_output)
def open(java_task_source, java_schema, java_file_output) task_source = DataSource.from_java(java_task_source) schema = Schema.from_java(java_schema) file_output = FileOutput.new(java_file_output) ruby_object = @ruby_class.new(task_source, schema, file_output) return OutputAdapter.new(ruby_object, schema, file_output) end
def transaction(java_config, java_schema, java_control)
def transaction(java_config, java_schema, java_control) config = DataSource.from_java(java_config) schema = Schema.from_java(java_schema) @ruby_class.transaction(config, schema) do |task_source_hash| java_task_source = DataSource.from_ruby_hash(task_source_hash).to_java java_control.run(java_task_source) end nil end