Interface QueryExecutor

All Known Implementing Classes:
QueryExecutorImpl

public interface QueryExecutor
This class is the query executor : a generic class, reponsible for calling the GraphQL server, and return its response as POJOs.
Author:
etienne-sf
  • Field Summary

    Fields 
    Modifier and Type Field Description
    static org.slf4j.Marker GRAPHQL_MARKER  
    static org.slf4j.Marker GRAPHQL_MUTATION_MARKER  
    static org.slf4j.Marker GRAPHQL_QUERY_MARKER  
    static org.slf4j.Marker GRAPHQL_SUBSCRIPTION_MARKER  
  • Method Summary

    Modifier and Type Method Description
    <R,​ T> SubscriptionClient execute​(AbstractGraphQLRequest graphQLRequest, java.util.Map<java.lang.String,​java.lang.Object> parameters, SubscriptionCallback<T> subscriptionCallback, java.lang.String subscriptionName, java.lang.Class<R> subscriptionType, java.lang.Class<T> messageType)
    Executes the given subscription GraphQL request, and returns the relevant WebSocketClient.
    <R> R execute​(AbstractGraphQLRequest graphQLRequest, java.util.Map<java.lang.String,​java.lang.Object> parameters, java.lang.Class<R> dataResponseType)
    Execution of the given query or mutation GraphQL request, and return its response mapped in the relevant POJO.
  • Field Details

  • Method Details

    • execute

      <R> R execute​(AbstractGraphQLRequest graphQLRequest, java.util.Map<java.lang.String,​java.lang.Object> parameters, java.lang.Class<R> dataResponseType) throws GraphQLRequestExecutionException
      Execution of the given query or mutation GraphQL request, and return its response mapped in the relevant POJO. This method executes a partial GraphQL query, or a full GraphQL request.
      Type Parameters:
      R - The class that is generated from the query or the mutation definition in the GraphQL schema
      Parameters:
      graphQLRequest - Defines what response is expected from the server.
      parameters - the input parameters for this query. If the query has no parameters, it may be null or an empty list.
      dataResponseType - The class generated for the query or the mutation type. The data tag of the GraphQL server response will be mapped into an instance of this class.
      Returns:
      The response mapped to the code, generated from the GraphQl server. Or a wrapper for composite responses.
      Throws:
      GraphQLRequestExecutionException - When an error occurs during the request execution, typically a network error, an error from the GraphQL server or if the server response can't be parsed
      java.io.IOException
    • execute

      <R,​ T> SubscriptionClient execute​(AbstractGraphQLRequest graphQLRequest, java.util.Map<java.lang.String,​java.lang.Object> parameters, SubscriptionCallback<T> subscriptionCallback, java.lang.String subscriptionName, java.lang.Class<R> subscriptionType, java.lang.Class<T> messageType) throws GraphQLRequestExecutionException
      Executes the given subscription GraphQL request, and returns the relevant WebSocketClient. The given subscriptionCallback will receive the notifications that have been subscribed by this subscription. Only one Subscription may be executed at a time: it may be a partial Request (always limited to one query), or a full request that contains only one subscription.
      Note: Don't forget to free the server's resources by calling the AbstractLifeCycle.stop() method of the returned object.
      Type Parameters:
      R - The class that is generated from the subscription definition in the GraphQL schema. It contains one attribute, for each available subscription. The data tag of the GraphQL server response will be mapped into an instance of this class.
      T - The type that must be returned by the query or mutation: it's the class that maps to the GraphQL type returned by this subscription.
      Parameters:
      graphQLRequest - Defines what response is expected from the server.
      parameters - The input parameters for this subscription. If the query has no parameters, it may be null or an empty list.
      subscriptionCallback - The object that will be called each time a message is received, or an error on the subscription occurs. This object is provided by the application.
      subscriptionName - The name of the subscription that should be subscribed by this method call. It will be used to check that the correct GraphQLRequest has been provided by the caller.
      subscriptionType - The R class
      messageType - The T class
      Returns:
      The Subscription client. It allows to stop the subscription, by executing its SubscriptionClient.unsubscribe() method. This will stop the incoming notification flow, and will free resources on both the client and the server.
      Throws:
      GraphQLRequestExecutionException - When an error occurs during the request execution, typically a network error, an error from the GraphQL server or if the server response can't be parsed
      java.io.IOException