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 perform N1QL and FTS queries asynchronously and receive a raw version of the service's JSON response. The responses can directly be exposed as JsonObject or String, 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 Details

  • Method Details

    • n1qlToJsonObject

      public rx.Observable<JsonObject> n1qlToJsonObject​(N1qlQuery query)
      Asynchronously perform a N1qlQuery and return the raw N1QL response as a JsonObject. Note that the query is executed "as is", without any processing comparable to what is done in AsyncBucket.query(N1qlQuery) (like enforcing a server side timeout or managing prepared statements).
      Parameters:
      query - the query to execute.
      Returns:
      an Observable of the N1QL response as a JsonObject.
    • n1qlToRawJson

      public rx.Observable<String> n1qlToRawJson​(N1qlQuery query)
      Asynchronously perform a N1qlQuery and return the raw N1QL response as a String. Note that the query is executed "as is", without any processing comparable to what is done in AsyncBucket.query(N1qlQuery) (like enforcing a server side timeout or managing prepared statements).
      Parameters:
      query - the query to execute.
      Returns:
      an Observable of the N1QL response as a String.
    • n1qlToRawCustom

      public <T> rx.Observable<T> n1qlToRawCustom​(N1qlQuery query, rx.functions.Func1<TranscoderUtils.ByteBufToArray,​T> deserializer)
      Asynchronously perform a N1qlQuery and apply a user function to deserialize the raw N1QL response, which is represented as a "TranscoderUtils.ByteBufToArray". The array is derived from a ByteBuf that 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 in AsyncBucket.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 Observable of the N1QL response as a T.
    • ftsToJsonObject

      public rx.Observable<JsonObject> ftsToJsonObject​(SearchQuery query)
      Asynchronously perform a SearchQuery and return the raw N1QL response as a JsonObject. Note that the query is executed "as is", without any processing comparable to what is done in AsyncBucket.query(SearchQuery) (like enforcing a server side timeout).
      Parameters:
      query - the query to execute.
      Returns:
      an Observable of the FTS response as a JsonObject.
    • ftsToRawJson

      public rx.Observable<String> ftsToRawJson​(SearchQuery query)
      Asynchronously perform a SearchQuery and return the raw N1QL response as a String. Note that the query is executed "as is", without any processing comparable to what is done in AsyncBucket.query(SearchQuery) (like enforcing a server side timeout).
      Parameters:
      query - the query to execute.
      Returns:
      an Observable of the FTS response as a String.
    • ftsToRawCustom

      public <T> rx.Observable<T> ftsToRawCustom​(SearchQuery query, rx.functions.Func1<String,​T> deserializer)
      Asynchronously perform a SearchQuery and apply a user function to deserialize the raw JSON FTS response, which is represented as a String. Note that the query is executed "as is", without any processing comparable to what is done in AsyncBucket.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 Observable of the FTS response as a T.