tech.ytsaurus.client.request.ReduceOperation Maven / Gradle / Ivy
The newest version!
package tech.ytsaurus.client.request;
import tech.ytsaurus.client.operations.ReduceSpec;
/**
* Immutable reduce operation request.
*
* @see tech.ytsaurus.client.ApiServiceClient#startReduce(ReduceOperation)
* @see
* reduce documentation
*
*/
public class ReduceOperation extends BaseOperation {
ReduceOperation(Builder builder) {
super(builder);
}
/**
* Construct a builder with options set from this request.
*/
public Builder toBuilder() {
return builder()
.setSpec(getSpec())
.setMutatingOptions(getMutatingOptions())
.setTransactionalOptions(getTransactionalOptions().orElse(null));
}
/**
* Create empty builder.
*/
public static Builder builder() {
return new Builder();
}
/**
* Builder of {@link ReduceOperation}.
*/
public static class Builder extends BuilderBase {
/**
* Create instance of {@link ReduceOperation}.
*/
public ReduceOperation build() {
return new ReduceOperation(this);
}
protected Builder self() {
return this;
}
}
}