Class AsyncRawQueryExecutor
- java.lang.Object
-
- com.couchbase.client.java.util.rawQuerying.AsyncRawQueryExecutor
-
@Uncommitted @Public public class AsyncRawQueryExecutor extends Object
A utility class that allows to performN1QLandFTSqueries asynchronously and receive a raw version of the service's JSON response. The responses can directly be exposed asJsonObjectorString, but custom methods allow to work from a byte array (for N1QL) or String (for FTS) and perform a custom deserialization. Note that this class is outside of the Bucket API as it is uncommitted, and is not common to all Couchbase SDKs.- Since:
- 2.3
- Author:
- Simon Baslé
-
-
Constructor Summary
Constructors Constructor Description AsyncRawQueryExecutor(String bucket, String password, ClusterFacade core)AsyncRawQueryExecutor(String bucket, String username, String password, ClusterFacade core)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description rx.Observable<JsonObject>ftsToJsonObject(SearchQuery query)Asynchronously perform aSearchQueryand return the raw N1QL response as aJsonObject.<T> rx.Observable<T>ftsToRawCustom(SearchQuery query, rx.functions.Func1<String,T> deserializer)Asynchronously perform aSearchQueryand apply a user function to deserialize the raw JSON FTS response, which is represented as aString.rx.Observable<String>ftsToRawJson(SearchQuery query)Asynchronously perform aSearchQueryand return the raw N1QL response as a String.rx.Observable<JsonObject>n1qlToJsonObject(N1qlQuery query)Asynchronously perform aN1qlQueryand return the raw N1QL response as aJsonObject.<T> rx.Observable<T>n1qlToRawCustom(N1qlQuery query, rx.functions.Func1<TranscoderUtils.ByteBufToArray,T> deserializer)Asynchronously perform aN1qlQueryand apply a user function to deserialize the raw N1QL response, which is represented as a "TranscoderUtils.ByteBufToArray".rx.Observable<String>n1qlToRawJson(N1qlQuery query)Asynchronously perform aN1qlQueryand return the raw N1QL response as a String.
-
-
-
Constructor Detail
-
AsyncRawQueryExecutor
public AsyncRawQueryExecutor(String bucket, String password, ClusterFacade core)
-
AsyncRawQueryExecutor
public AsyncRawQueryExecutor(String bucket, String username, String password, ClusterFacade core)
-
-
Method Detail
-
n1qlToJsonObject
public rx.Observable<JsonObject> n1qlToJsonObject(N1qlQuery query)
Asynchronously perform aN1qlQueryand return the raw N1QL response as aJsonObject. Note that the query is executed "as is", without any processing comparable to what is done inAsyncBucket.query(N1qlQuery)(like enforcing a server side timeout or managing prepared statements).- Parameters:
query- the query to execute.- Returns:
- an
Observableof the N1QL response as aJsonObject.
-
n1qlToRawJson
public rx.Observable<String> n1qlToRawJson(N1qlQuery query)
Asynchronously perform aN1qlQueryand return the raw N1QL response as a String. Note that the query is executed "as is", without any processing comparable to what is done inAsyncBucket.query(N1qlQuery)(like enforcing a server side timeout or managing prepared statements).- Parameters:
query- the query to execute.- Returns:
- an
Observableof the N1QL response as a String.
-
n1qlToRawCustom
public <T> rx.Observable<T> n1qlToRawCustom(N1qlQuery query, rx.functions.Func1<TranscoderUtils.ByteBufToArray,T> deserializer)
Asynchronously perform aN1qlQueryand apply a user function to deserialize the raw N1QL response, which is represented as a "TranscoderUtils.ByteBufToArray". The array is derived from aByteBufthat will be released, so it shouldn't be used to back the returned instance. Its scope should be considered the scope of the call method. Note that the query is executed "as is", without any processing comparable to what is done inAsyncBucket.query(N1qlQuery)(like enforcing a server side timeout or managing prepared statements).- Type Parameters:
T- the type of the response, once deserialized by the user-provided function.- Parameters:
query- the query to execute.deserializer- a deserializer function that transforms the byte representation of the response into a custom type T.- Returns:
- an
Observableof the N1QL response as a T.
-
ftsToJsonObject
public rx.Observable<JsonObject> ftsToJsonObject(SearchQuery query)
Asynchronously perform aSearchQueryand return the raw N1QL response as aJsonObject. Note that the query is executed "as is", without any processing comparable to what is done inAsyncBucket.query(SearchQuery)(like enforcing a server side timeout).- Parameters:
query- the query to execute.- Returns:
- an
Observableof the FTS response as aJsonObject.
-
ftsToRawJson
public rx.Observable<String> ftsToRawJson(SearchQuery query)
Asynchronously perform aSearchQueryand return the raw N1QL response as a String. Note that the query is executed "as is", without any processing comparable to what is done inAsyncBucket.query(SearchQuery)(like enforcing a server side timeout).- Parameters:
query- the query to execute.- Returns:
- an
Observableof the FTS response as a String.
-
ftsToRawCustom
public <T> rx.Observable<T> ftsToRawCustom(SearchQuery query, rx.functions.Func1<String,T> deserializer)
Asynchronously perform aSearchQueryand apply a user function to deserialize the raw JSON FTS response, which is represented as aString. Note that the query is executed "as is", without any processing comparable to what is done inAsyncBucket.query(SearchQuery)(like enforcing a server side timeout).- Type Parameters:
T- the type of the response, once deserialized by the user-provided function.- Parameters:
query- the query to execute.deserializer- a deserializer function that transforms the String representation of the response into a custom type T.- Returns:
- an
Observableof the FTS response as a T.
-
-