Class: Embulk::FormatterPlugin::JavaAdapter

Inherits:
Object
  • Object
show all
Includes:
Java::FormatterPlugin
Defined in:
lib/embulk/formatter_plugin.rb

Defined Under Namespace

Classes: OutputAdapter

Instance Method Summary collapse

Constructor Details

#initialize(ruby_class) ⇒ JavaAdapter

Returns a new instance of JavaAdapter.



43
44
45
# File 'lib/embulk/formatter_plugin.rb', line 43

def initialize(ruby_class)
  @ruby_class = ruby_class
end

Instance Method Details

#open(java_task_source, java_schema, java_file_output) ⇒ Object



57
58
59
60
61
62
63
# File 'lib/embulk/formatter_plugin.rb', line 57

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

#transaction(java_config, java_schema, java_control) ⇒ Object



47
48
49
50
51
52
53
54
55
# File 'lib/embulk/formatter_plugin.rb', line 47

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