Class: Embulk::PluginManager

Inherits:
Object
  • Object
show all
Defined in:
lib/embulk/plugin.rb

Instance Method Summary collapse

Constructor Details

#initializePluginManager

Returns a new instance of PluginManager.



20
21
22
23
24
25
# File 'lib/embulk/plugin.rb', line 20

def initialize
  @registries = {}
  %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

Instance Method Details

#get_guess(type) ⇒ Object

TODO EncoderPlugin::RubyAdapter is not written by anyone yet def get_encoder(type)

# TODO not implemented yet
lookup(:encoder, type)

end



102
103
104
# File 'lib/embulk/plugin.rb', line 102

def get_guess(type)
  lookup(:guess, type)
end

#new_java_decoder(type) ⇒ Object



173
174
175
# File 'lib/embulk/plugin.rb', line 173

def new_java_decoder(type)
  lookup(:decoder, type).new_java
end

#new_java_encoder(type) ⇒ Object



177
178
179
# File 'lib/embulk/plugin.rb', line 177

def new_java_encoder(type)
  lookup(:encoder, type).new_java
end

#new_java_executor(type) ⇒ Object



185
186
187
# File 'lib/embulk/plugin.rb', line 185

def new_java_executor(type)
  lookup(:executor, type).new_java
end

#new_java_filter(type) ⇒ Object



161
162
163
# File 'lib/embulk/plugin.rb', line 161

def new_java_filter(type)
  lookup(:filter, type).new_java
end

#new_java_formatter(type) ⇒ Object



169
170
171
# File 'lib/embulk/plugin.rb', line 169

def new_java_formatter(type)
  lookup(:formatter, type).new_java
end

#new_java_guess(type) ⇒ Object



181
182
183
# File 'lib/embulk/plugin.rb', line 181

def new_java_guess(type)
  lookup(:guess, type).new_java
end

#new_java_input(type) ⇒ Object



153
154
155
# File 'lib/embulk/plugin.rb', line 153

def new_java_input(type)
  lookup(:input, type).new_java
end

#new_java_output(type) ⇒ Object



157
158
159
# File 'lib/embulk/plugin.rb', line 157

def new_java_output(type)
  lookup(:output, type).new_java
end

#new_java_parser(type) ⇒ Object



165
166
167
# File 'lib/embulk/plugin.rb', line 165

def new_java_parser(type)
  lookup(:parser, type).new_java
end

#register_filter(type, klass) ⇒ Object



36
37
38
# File 'lib/embulk/plugin.rb', line 36

def register_filter(type, klass)
  register_plugin(:filter, type, klass, FilterPlugin)
end

#register_formatter(type, klass) ⇒ Object



44
45
46
# File 'lib/embulk/plugin.rb', line 44

def register_formatter(type, klass)
  register_plugin(:formatter, type, klass, FormatterPlugin)
end

#register_guess(type, klass) ⇒ Object

TODO EncoderPlugin JRuby API is not written by anyone yet def register_encoder(type, klass)

register_plugin(:encoder, type, klass, EncoderPlugin)

end



58
59
60
61
# File 'lib/embulk/plugin.rb', line 58

def register_guess(type, klass)
  register_plugin(:guess, type, klass, GuessPlugin,
                 "Guess plugin #{klass} must extend GuessPlugin, LineGuessPlugin, or TextGuessPlugin class")
end

#register_input(type, klass) ⇒ Object



27
28
29
# File 'lib/embulk/plugin.rb', line 27

def register_input(type, klass)
  register_plugin(:input, type, klass, InputPlugin)
end

#register_java_decoder(type, klass) ⇒ Object



133
134
135
136
# File 'lib/embulk/plugin.rb', line 133

def register_java_decoder(type, klass)
  register_java_plugin(:decoder, type, klass,
                       "org.embulk.spi.DecoderPlugin" => DecoderPlugin)
end

#register_java_encoder(type, klass) ⇒ Object



138
139
140
141
# File 'lib/embulk/plugin.rb', line 138

def register_java_encoder(type, klass)
  register_java_plugin(:encoder, type, klass,
                       "org.embulk.spi.EncoderPlugin" => EncoderPlugin)
end

#register_java_executor(type, klass) ⇒ Object



148
149
150
151
# File 'lib/embulk/plugin.rb', line 148

def register_java_executor(type, klass)
  register_java_plugin(:executor, type, klass,
                       "org.embulk.spi.ExecutorPlugin" => ExecutorPlugin)
end

#register_java_filter(type, klass) ⇒ Object



118
119
120
121
# File 'lib/embulk/plugin.rb', line 118

def register_java_filter(type, klass)
  register_java_plugin(:filter, type, klass,
                       "org.embulk.spi.FilterPlugin" => FilterPlugin)
end

#register_java_formatter(type, klass) ⇒ Object



128
129
130
131
# File 'lib/embulk/plugin.rb', line 128

def register_java_formatter(type, klass)
  register_java_plugin(:formatter, type, klass,
                       "org.embulk.spi.FormatterPlugin" => FormatterPlugin)
end

#register_java_guess(type, klass) ⇒ Object



143
144
145
146
# File 'lib/embulk/plugin.rb', line 143

def register_java_guess(type, klass)
  register_java_plugin(:guess, type, klass,
                       "org.embulk.spi.GuessPlugin" => GuessPlugin)
end

#register_java_input(type, klass) ⇒ Object



106
107
108
109
110
# File 'lib/embulk/plugin.rb', line 106

def register_java_input(type, klass)
  register_java_plugin(:input, type, klass,
                       "org.embulk.spi.InputPlugin" => InputPlugin,
                       "org.embulk.spi.FileInputPlugin" => FileInputPlugin)
end

#register_java_output(type, klass) ⇒ Object



112
113
114
115
116
# File 'lib/embulk/plugin.rb', line 112

def register_java_output(type, klass)
  register_java_plugin(:output, type, klass,
                       "org.embulk.spi.OutputPlugin" => OutputPlugin,
                       "org.embulk.spi.FileOutputPlugin" => FileOutputPlugin)
end

#register_java_parser(type, klass) ⇒ Object



123
124
125
126
# File 'lib/embulk/plugin.rb', line 123

def register_java_parser(type, klass)
  register_java_plugin(:parser, type, klass,
                       "org.embulk.spi.ParserPlugin" => ParserPlugin)
end

#register_output(type, klass) ⇒ Object



31
32
33
34
# File 'lib/embulk/plugin.rb', line 31

def register_output(type, klass)
  register_plugin(:output, type, klass, OutputPlugin,
                  "Output plugin #{klass} must extend OutputPlugin")
end

#register_parser(type, klass) ⇒ Object



40
41
42
# File 'lib/embulk/plugin.rb', line 40

def register_parser(type, klass)
  register_plugin(:parser, type, klass, ParserPlugin)
end