lib/embulk/plugin.rb in embulk-0.5.5 vs lib/embulk/plugin.rb in embulk-0.6.0

- old
+ new

@@ -11,16 +11,17 @@ require 'embulk/parser_plugin' require 'embulk/formatter_plugin' require 'embulk/decoder_plugin' require 'embulk/encoder_plugin' require 'embulk/guess_plugin' + require 'embulk/executor_plugin' require 'embulk/java_plugin' if Embulk.java? class PluginManager def initialize @registries = {} - %w[input output parser formatter decoder encoder line_filter filter guess].each do |category| + %w[input output parser formatter decoder encoder line_filter filter guess executor].each do |category| @registries[category.to_sym] = PluginRegistry.new(category, "embulk/#{category}/") end end def register_input(type, klass) @@ -142,10 +143,15 @@ def register_java_guess(type, klass) register_java_plugin(:guess, type, klass, "org.embulk.spi.GuessPlugin" => GuessPlugin) end + def register_java_executor(type, klass) + register_java_plugin(:executor, type, klass, + "org.embulk.spi.ExecutorPlugin" => ExecutorPlugin) + end + def new_java_input(type) lookup(:input, type).new_java end def new_java_output(type) @@ -174,10 +180,14 @@ def new_java_guess(type) lookup(:guess, type).new_java end + def new_java_executor(type) + lookup(:executor, type).new_java + end + private # TODO lookup should fallback to Java PluginSource # if not found so that ruby plugins can call java plugins. # call injector.newPlugin and wrap the instance in a reverse bridge object. @@ -220,9 +230,10 @@ :register_filter, :get_filter, :register_java_filter, :new_java_filter, :register_parser, :get_parser, :register_java_parser, :new_java_parser, :register_formatter, :get_formatter, :register_java_formatter, :new_java_formatter, :register_decoder, :get_decoder, :register_java_decoder, :new_java_decoder, :register_encoder, :get_encoder, :register_java_encoder, :new_java_encoder, - :register_guess, :get_guess, :register_java_guess, :new_java_guess + :register_guess, :get_guess, :register_java_guess, :new_java_guess, + :register_executor, :get_executor, :register_java_executor, :new_java_executor end end end