package io.searchbox.core; import com.google.gson.Gson; import io.searchbox.action.AbstractAction; import io.searchbox.action.AbstractMultiTypeActionBuilder; /** * @author Dogukan Sonmez * @author cihat keser */ public class Count extends AbstractAction<CountResult> { protected Count(Builder builder) { super(builder); this.payload = builder.query; setURI(buildURI()); } @Override protected String buildURI() { return super.buildURI() + "/_count"; } @Override public String getPathToResult() { return "count"; } @Override public CountResult createNewElasticSearchResult(String responseBody, int statusCode, String reasonPhrase, Gson gson) { return createNewElasticSearchResult(new CountResult(gson), responseBody, statusCode, reasonPhrase, gson); } @Override public String getRestMethodName() { return "POST"; } public static class Builder extends AbstractMultiTypeActionBuilder<Count, Builder> { private String query; public Builder query(String query) { this.query = query; return this; } @Override public Count build() { return new Count(this); } } }