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