package io.searchbox.core; import io.searchbox.action.BulkableAction; import io.searchbox.action.SingleResultAbstractDocumentTargetedAction; import io.searchbox.params.Parameters; /** * @author Dogukan Sonmez * @author cihat keser */ public class Update extends SingleResultAbstractDocumentTargetedAction implements BulkableAction<DocumentResult> { protected Update(Builder builder) { super(builder); this.payload = builder.payload; setURI(buildURI()); } @Override public String getBulkMethodName() { return "update"; } @Override protected String buildURI() { return super.buildURI() + "/_update"; } @Override public String getRestMethodName() { return "POST"; } @Override public String getPathToResult() { return "ok"; } public static class Builder extends SingleResultAbstractDocumentTargetedAction.Builder<Update, Builder> { private final Object payload; public Builder(Object payload) { this.payload = payload; } public Update build() { return new Update(this); } } public static class VersionBuilder extends Builder { public VersionBuilder(Object payload, Long version) { super(payload); this.setParameter(Parameters.VERSION, version); } } }