public interface Task
org.embulk.config.ConfigSource
and org.embulk.config.TaskSource
.
Embulk plugins usually need to define their own interface extending this Task
. Then,
org.embulk.config.ConfigSource
and org.embulk.config.TaskSource
are mapped into
the extended interface with ConfigMapper
and TaskMapper
, respectively. See the
example below.
public class ExampleInputPlugin implements InputPlugin {
public ExampleInputPlugin() {
this.configMapperFactory = org.embulk.util.config.ConfigMapperFactory.withDefault();
}
public interface PluginTask extends org.embulk.util.config.Task {
@Config("config")
String getConfigAsString();
@Config("config")
int getConfigAsInteger();
@Config("someone")
@ConfigDefault("any")
String getSomeone();
}
public ConfigDiff transaction(final ConfigSource config, final InputPlugin.Control control) {
final org.embulk.util.config.ConfigMapper configMapper = this.configMapperFactory.createConfigMapper();
final PluginTask task = configMapper.map(config, PluginTask.class);
// ...
}
public TaskReport run(TaskSource taskSource, Schema schema, int taskIndex, PageOutput output) {
final org.embulk.util.config.TaskMapper taskMapper = this.configMapperFactory.createTaskMapper();
final PluginTask task = taskMapper.map(taskSource, PluginTask.class);
// ...
}
// ...
private org.embulk.util.config.ConfigMapperFactory configMapperFactory;
}
The Task
object generated by ConfigMapper
and TaskMapper
is implemented
with Proxy
, the dynamic proxy mechanism with reflection.
Modifier and Type | Method and Description |
---|---|
org.embulk.config.TaskSource |
dump()
Deprecated.
Replaced with
toTaskSource() . |
ObjectNode |
toObjectNode()
Dumps this
Task as a ObjectNode . |
org.embulk.config.TaskSource |
toTaskSource()
Dumps this
Task as a org.embulk.config.TaskSource . |
void |
validate()
|
void validate()
TaskValidationException
- if this Task
is invalid@Deprecated org.embulk.config.TaskSource dump()
toTaskSource()
.Task
as a org.embulk.config.TaskSource
.org.embulk.config.TaskSource
dumpedorg.embulk.config.TaskSource toTaskSource()
Task
as a org.embulk.config.TaskSource
.org.embulk.config.TaskSource
dumpedObjectNode toObjectNode()
Task
as a ObjectNode
.ObjectNode
dumped