package crate.elasticsearch.action.import_;
import org.elasticsearch.action.support.nodes.NodesOperationRequest;
import org.elasticsearch.common.Required;
import org.elasticsearch.common.bytes.BytesArray;
import org.elasticsearch.common.bytes.BytesReference;
import org.elasticsearch.common.io.stream.StreamInput;
import org.elasticsearch.common.io.stream.StreamOutput;
import java.io.IOException;
public class ImportRequest extends NodesOperationRequest<ImportRequest> {
private BytesReference source;
private String type;
private String index;
/**
* Constructs a new import request against the provided nodes. No nodes provided
* means it will run against all nodes.
*/
public ImportRequest(String... nodes) {
super(nodes);
}
/**
* The query source to execute.
* @return
*/
public BytesReference source() {
return source;
}
@Required
public ImportRequest source(String source) {
return this.source(new BytesArray(source), false);
}
@Required
public ImportRequest source(BytesReference source, boolean unsafe) {
this.source = source;
return this;
}
public String type() {
return this.type;
}
public void type(String type) {
this.type = type;
}
public String index() {
return this.index ;
}
public void index(String index) {
this.index = index;
}
@Override
public void readFrom(StreamInput in) throws IOException {
super.readFrom(in);
index = in.readOptionalString();
type = in.readOptionalString();
source = in.readBytesReference();
}
@Override
public void writeTo(StreamOutput out) throws IOException {
super.writeTo(out);
out.writeOptionalString(index);
out.writeOptionalString(type);
out.writeBytesReference(source);
}
}