org.embulk.spi.ProcessTask Maven / Gradle / Ivy
package org.embulk.spi;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.List;
import org.embulk.config.TaskSource;
import org.embulk.plugin.PluginType;
import org.embulk.spi.util.ExecutorsInternal;
public class ProcessTask {
private final PluginType inputPluginType;
private final PluginType outputPluginType;
private final List filterPluginTypes;
private final TaskSource inputTaskSource;
private final TaskSource outputTaskSource;
private final List filterTaskSources;
private final List schemas;
private final Schema executorSchema;
private TaskSource executorTaskSource;
@JsonCreator
public ProcessTask(
@JsonProperty("inputType") PluginType inputPluginType,
@JsonProperty("outputType") PluginType outputPluginType,
@JsonProperty("filterTypes") List filterPluginTypes,
@JsonProperty("inputTask") TaskSource inputTaskSource,
@JsonProperty("outputTask") TaskSource outputTaskSource,
@JsonProperty("filterTasks") List filterTaskSources,
@JsonProperty("schemas") List schemas,
@JsonProperty("executorSchema") Schema executorSchema,
@JsonProperty("executorTask") TaskSource executorTaskSource) {
this.inputPluginType = inputPluginType;
this.outputPluginType = outputPluginType;
this.filterPluginTypes = filterPluginTypes;
this.inputTaskSource = inputTaskSource;
this.outputTaskSource = outputTaskSource;
this.filterTaskSources = filterTaskSources;
this.schemas = schemas;
this.executorSchema = executorSchema;
this.executorTaskSource = executorTaskSource;
}
@JsonProperty("inputType")
public PluginType getInputPluginType() {
return inputPluginType;
}
@JsonProperty("outputType")
public PluginType getOutputPluginType() {
return outputPluginType;
}
@JsonProperty("filterTypes")
public List getFilterPluginTypes() {
return filterPluginTypes;
}
@JsonProperty("inputTask")
public TaskSource getInputTaskSource() {
return inputTaskSource;
}
@JsonProperty("outputTask")
public TaskSource getOutputTaskSource() {
return outputTaskSource;
}
@JsonProperty("filterTasks")
public List getFilterTaskSources() {
return filterTaskSources;
}
@JsonProperty("schemas")
public List getFilterSchemas() {
return schemas;
}
@JsonProperty("executorSchema")
public Schema getExecutorSchema() {
return executorSchema;
}
@JsonIgnore
public Schema getInputSchema() {
return ExecutorsInternal.getInputSchema(schemas);
}
@JsonIgnore
public Schema getOutputSchema() {
return ExecutorsInternal.getOutputSchema(schemas);
}
@JsonIgnore
public void setExecutorTaskSource(TaskSource executorTaskSource) {
this.executorTaskSource = executorTaskSource;
}
@JsonProperty("executorTask")
public TaskSource getExecutorTaskSource() {
return executorTaskSource;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy