package io.searchbox.indices;
import io.searchbox.action.GenericResultAbstractAction;
import java.util.Objects;
/**
* @author Dogukan Sonmez
* @author cihat keser
*/
public class CreateIndex extends GenericResultAbstractAction {
protected CreateIndex(Builder builder) {
super(builder);
this.indexName = builder.index;
if (builder.settings != null) {
this.payload = builder.settings;
} else {
this.payload = new Object();
}
setURI(buildURI());
}
@Override
public String getRestMethodName() {
return "PUT";
}
@Override
public int hashCode() {
return Objects.hash(super.hashCode(), indexName, payload);
}
@Override
public boolean equals(Object obj) {
if (obj == null) {
return false;
}
if (obj == this) {
return true;
}
if (obj.getClass() != getClass()) {
return false;
}
CreateIndex rhs = (CreateIndex) obj;
return super.equals(obj)
&& Objects.equals(indexName, rhs.indexName)
&& Objects.equals(payload, rhs.payload);
}
public static class Builder extends GenericResultAbstractAction.Builder<CreateIndex, Builder> {
private Object settings = null;
private String index;
public Builder(String index) {
this.index = index;
}
public Builder settings(Object settings) {
this.settings = settings;
return this;
}
@Override
public CreateIndex build() {
return new CreateIndex(this);
}
}
}