Package

org.coursera.naptime.ari

graphql

Permalink

package graphql

Visibility
  1. Public
  2. All

Type Members

  1. class DefaultGraphqlSchemaProvider extends GraphqlSchemaProvider with StrictLogging

    Permalink

    A GraphQL Schema Provider implementation.

    A GraphQL Schema Provider implementation.

    We compute the schema and cache it for performance reasons.

    Note: we assume that the schemaProvider can return different schemas over time. We also assume that they change relatively slowly.

    Note: we rely on object identity to ensure an efficient set comparison. (This is a reasonably good approach, because we assume immutable collections. Therefore we know we will never skip re-computing when we should.

    Note: we avoid taking locks to avoid thread contention. We accept this at the cost of potentially re-computing the schema multiple times upon schema change. Additionally, we do not use any volatile variables, but instead rely on the JVM's guarantee that object references are atomically written.

  2. class GraphQL extends AnyRef

    Permalink

    An (stub) implementation of a GraphQL Play endpoint based on the Naptime automatic resource inclusion engine.

  3. class GraphQLController extends Controller with StrictLogging

    Permalink
    Annotations
    @Singleton()
  4. trait GraphQlParser extends AnyRef

    Permalink

    The GraphQlParser represents the GraphQL segment of the Naptime ARI presentation layer.

    The GraphQlParser represents the GraphQL segment of the Naptime ARI presentation layer. This segment is responsible for converting a GraphQL query (represented as a string) into a common org.coursera.naptime.ari.Request class that can be parsed and evaluated by the ARI engine.

  5. trait GraphqlSchemaProvider extends AnyRef

    Permalink

    Provides GraphQL schemas for other components of the ARI+GraphQL system.

  6. case class SangriaGraphQlContext(response: Response) extends Product with Serializable

    Permalink
  7. class SangriaGraphQlSchemaBuilder extends StrictLogging

    Permalink

Value Members

  1. object DefaultGraphqlSchemaProvider

    Permalink
  2. object SangriaGraphQlParser extends GraphQlParser

    Permalink

    The SangriaGraphQlParser uses the [Sangria library](https://github.com/sangria-graphql/sangria) to parse a GraphQL input into a Naptime ARI org.coursera.naptime.ari.Request for further processing.

  3. package marshaller

    Permalink
  4. package schema

    Permalink
  5. package types

    Permalink

Ungrouped