class Embulk::FilterPlugin::JavaAdapter
Public Class Methods
new(ruby_class)
click to toggle source
# File lib/embulk/filter_plugin.rb, line 44 def initialize(ruby_class) @ruby_class = ruby_class end
Public Instance Methods
open(java_task_source, java_in_schema, java_out_schema, java_output)
click to toggle source
# File lib/embulk/filter_plugin.rb, line 59 def open(java_task_source, java_in_schema, java_out_schema, java_output) task_source = DataSource.from_java(java_task_source) in_schema = Schema.from_java(java_in_schema) out_schema = Schema.from_java(java_out_schema) page_builder = PageBuilder.new(out_schema, java_output) ruby_object = @ruby_class.new(task_source, in_schema, out_schema, page_builder) return OutputAdapter.new(ruby_object, in_schema, page_builder) end
transaction(java_config, java_in_schema, java_control)
click to toggle source
# File lib/embulk/filter_plugin.rb, line 48 def transaction(java_config, java_in_schema, java_control) config = DataSource.from_java(java_config) in_schema = Schema.from_java(java_in_schema) @ruby_class.transaction(config, in_schema) do |task_source_hash, out_columns| java_task_source = DataSource.from_ruby_hash(task_source_hash).to_java java_out_schemas = Schema.new(out_columns).to_java java_control.run(java_task_source, java_out_schemas) end nil end