Class

org.coursera.naptime.ari.graphql.resolvers

NaptimeResolver

Related Doc: package resolvers

Permalink

class NaptimeResolver extends DeferredResolver[SangriaGraphQlContext] with StrictLogging

Linear Supertypes
StrictLogging, DeferredResolver[SangriaGraphQlContext], AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. NaptimeResolver
  2. StrictLogging
  3. DeferredResolver
  4. AnyRef
  5. Any
  1. Hide All
  2. Show all
Visibility
  1. Public
  2. All

Instance Constructors

  1. new NaptimeResolver()

    Permalink

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  7. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  8. def fetchForwardRelations(requests: Vector[NaptimeRequest], resourceName: ResourceName, context: SangriaGraphQlContext)(implicit ec: ExecutionContext): Future[Map[RequestId, Either[NaptimeError, NaptimeResponse]]]

    Permalink

    Fetches forward relations (via multiget) for a specific resource given a list of requests.

    Fetches forward relations (via multiget) for a specific resource given a list of requests. This implementation optimizes fetches by merging multigets into as few requests as possible.

    Multiget requests can be merged if all other query parameters are the same.

    In the event of an error, a NaptimeError is returned instead of a NaptimeResponse

    requests

    list of NaptimeRequests containing the endpoint and arguments (including ids)

    resourceName

    resource that the requests is made against

    context

    request context (includes things like header)

    returns

    Map of request ids (indexes from the deferred request batching) to either a NaptimeError or NaptimeResponse

  9. def fetchReverseRelations(requests: Vector[NaptimeRequest], resourceName: ResourceName, context: SangriaGraphQlContext)(implicit ec: ExecutionContext): Future[Map[RequestId, Either[NaptimeError, NaptimeResponse]]]

    Permalink

    Fetches reverse relations for a specific resource given a list of requests

    Fetches reverse relations for a specific resource given a list of requests

    In the event of an error, a NaptimeError is returned instead of a NaptimeResponse

    requests

    list of NaptimeRequests containing the endpoint and arguments (including ids)

    resourceName

    resource that the requests is made against

    context

    request context (includes things like header)

    returns

    Map of request ids (indexes from the deferred request batching) to either a NaptimeError or NaptimeResponse

  10. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  11. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  12. def getResourceName(requests: Vector[NaptimeRequest]): Option[ResourceName]

    Permalink

    Extracts a resource name from a list of NaptimeRequests.

    Extracts a resource name from a list of NaptimeRequests.

    This method assumes that all requests will be for the same resource, otherwise it will return None.

    requests

    a list of NaptimeRequests

    returns

    a ResourceName if all requests are for the same resource, otherwise None

  13. def groupDeferred[T <: DeferredWithInfo](deferred: Vector[T]): Vector[Vector[T]]

    Permalink
    Definition Classes
    DeferredResolver
  14. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  15. def includeDeferredFromField: Option[(Field[_, _], Vector[Field], Args, Double) ⇒ Boolean]

    Permalink
    Definition Classes
    DeferredResolver
  16. def initialQueryState: Any

    Permalink
    Definition Classes
    DeferredResolver
  17. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  18. val logger: Logger

    Permalink
    Attributes
    protected
    Definition Classes
    StrictLogging
  19. def mergeMultigetRequests(requests: Vector[NaptimeRequest], resourceName: ResourceName): Map[TopLevelRequest, Vector[NaptimeRequest]]

    Permalink

    Converts a list of forward requests into the most optimal list of requests to execute.

    Converts a list of forward requests into the most optimal list of requests to execute. Multiget requests can be merged into a single request, but _only_ if all of the query parameters are the same for the requests.

    requests

    A list of NaptimeRequests specifying the resource and arguments

    returns

    a map of TopLevelRequests -> list of NaptimeRequests that it fulfills

  20. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  21. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  22. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  23. def parseElements(response: Response, resourceSchema: RecordDataSchema): Map[JsValue, DataMapWithParent]

    Permalink

    Helper to parse the elements in a response into a map of JsValue -> DataMapWithParent

    Helper to parse the elements in a response into a map of JsValue -> DataMapWithParent

    response

    Response from the network call, containing data returned

    resourceSchema

    schema that defines the shape of the response, for later use

    returns

    Map of JsValue ids to DataMapWithParents

  24. def resolve(deferred: Vector[Deferred[Any]], ctx: SangriaGraphQlContext, queryState: Any)(implicit ec: ExecutionContext): Vector[Future[Any]]

    Permalink
    Definition Classes
    NaptimeResolver → DeferredResolver
  25. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  26. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  27. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  28. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  29. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from StrictLogging

Inherited from DeferredResolver[SangriaGraphQlContext]

Inherited from AnyRef

Inherited from Any

Ungrouped