Class: Embulk::FilterPlugin::JavaAdapter
- Inherits:
-
Object
- Object
- Embulk::FilterPlugin::JavaAdapter
- Includes:
- Java::FilterPlugin
- Defined in:
- lib/embulk/filter_plugin.rb
Defined Under Namespace
Classes: OutputAdapter
Instance Method Summary collapse
-
#initialize(ruby_class) ⇒ JavaAdapter
constructor
A new instance of JavaAdapter.
- #open(java_task_source, java_in_schema, java_out_schema, java_output) ⇒ Object
- #transaction(java_config, java_in_schema, java_control) ⇒ Object
Constructor Details
#initialize(ruby_class) ⇒ JavaAdapter
Returns a new instance of JavaAdapter.
36 37 38 |
# File 'lib/embulk/filter_plugin.rb', line 36 def initialize(ruby_class) @ruby_class = ruby_class end |
Instance Method Details
#open(java_task_source, java_in_schema, java_out_schema, java_output) ⇒ Object
51 52 53 54 55 56 57 58 |
# File 'lib/embulk/filter_plugin.rb', line 51 def open(java_task_source, java_in_schema, java_out_schema, java_output) task_source = DataSource.from_java_object(java_task_source) in_schema = Schema.from_java_object(java_in_schema) out_schema = Schema.from_java_object(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) ⇒ Object
40 41 42 43 44 45 46 47 48 49 |
# File 'lib/embulk/filter_plugin.rb', line 40 def transaction(java_config, java_in_schema, java_control) config = DataSource.from_java_object(java_config) in_schema = Schema.from_java_object(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).java_object java_out_schemas = Schema.new(out_columns).java_object java_control.run(java_task_source, java_out_schemas) end nil end |