class Embulk::PluginManager
def register_java_plugin(category, type, klass, iface_map, message=nil)
def register_java_plugin(category, type, klass, iface_map, message=nil) found = iface_map.find do |iface_name,ruby_base_class| iface = JRuby.runtime.getJRubyClassLoader.load_class(iface_name) iface.isAssignableFrom(klass) end unless found message ||= "Java plugin #{klass} must implement #{iface_map.keys.join(' or ')}" raise message end adapted = found.last.from_java(klass) @registries[category].register(type, adapted) end