package com.codetroopers.play.elasticsearch.jest;
import com.codetroopers.play.elasticsearch.AsyncUtils;
import com.codetroopers.play.elasticsearch.IndexClient;
import io.searchbox.Action;
import play.libs.F;
import javax.annotation.Nullable;
/**
* @author cgatay
*/
public abstract class JestRequest<T extends Action> {
public abstract T getAction();
@Nullable
public JestRichResult execute(){
return JestClientWrapper.execute(this);
}
public F.Promise<JestRichResult> executeAsync(){
return F.Promise.wrap(AsyncUtils.executeAsync(IndexClient.client, getAction()));
}
}