Packages

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()

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  8. def fetchForwardRelations(requests: Vector[NaptimeRequest], resourceName: ResourceName, context: SangriaGraphQlContext)(implicit ec: ExecutionContext): Future[Map[RequestId, Either[NaptimeError, NaptimeResponse]]]

    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]]]

    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
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  11. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  12. def getResourceName(requests: Vector[NaptimeRequest]): Option[ResourceName]

    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]]
    Definition Classes
    DeferredResolver
  14. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  15. def includeDeferredFromField: Option[(Field[_, _], Vector[Field], Args, Double) ⇒ Boolean]
    Definition Classes
    DeferredResolver
  16. def initialQueryState: Any
    Definition Classes
    DeferredResolver
  17. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  18. val logger: Logger
    Attributes
    protected
    Definition Classes
    StrictLogging
  19. def mergeMultigetRequests(header: RequestHeader, requests: Vector[NaptimeRequest], resourceName: ResourceName): Map[Request, Vector[NaptimeRequest]]

    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
    Definition Classes
    AnyRef
  21. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  22. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  23. def parseElements(request: Request, response: Response, resourceSchema: RecordDataSchema): List[DataMapWithParent]

    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]]
    Definition Classes
    NaptimeResolver → DeferredResolver
  25. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  26. def toString(): String
    Definition Classes
    AnyRef → Any
  27. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  28. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  29. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )

Inherited from StrictLogging

Inherited from DeferredResolver[SangriaGraphQlContext]

Inherited from AnyRef

Inherited from Any

Ungrouped