Skip to content
This repository has been archived by the owner on Oct 24, 2022. It is now read-only.

use reified loader #29

Closed

Conversation

bjartek
Copy link
Contributor

@bjartek bjartek commented Oct 8, 2018

No description provided.

@@ -10,5 +10,5 @@ import org.springframework.stereotype.Component
class NamespaceResolver : GraphQLResolver<Namespace> {

fun affiliation(namespace: Namespace, dfe: DataFetchingEnvironment) =
dfe.loader(Affiliation::class).load(namespace.affiliationId)
dfe.loader<Affiliation>().load(namespace.affiliationId)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Dette må være AffiliationDataLoader, hvis vi ikke setter "${simpleName}DataLoader" i loader() funksjonen.

@@ -23,7 +23,7 @@ class ApplicationDeploymentResolver(
Namespace(applicationDeployment.namespaceId, applicationDeployment.affiliationId)

fun details(applicationDeployment: ApplicationDeployment, dfe: DataFetchingEnvironment) =
dfe.loader(ApplicationDeploymentDetails::class).load(applicationDeployment.id)
dfe.loader<ApplicationDeploymentDetails>().load(applicationDeployment.id)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Jeg må innrømme at jeg egentlig ikke syntes dette er bedre. Det er ikke alltid det passer å bruke reification og generics for å overføre typeinformasjon som parameter. Etter min vurdering leser

dfe.loaderFor(ApplicationDeploymentDetails::class)
bedre enn

dfe.loader<ApplicationDeploymentDetails>() eller evt. dfe.loaderFor<ApplicationDeploymentDetails>()

Å bruke generics her er bare en konvoluted måte å sende inn en parameter på. En måte å vurdere om generics passer eller ei på er å sjekke om metodesignaturen passer ved å gå over til flertall. F.eks.

val loaders = dfe.loadersFor(ApplicationDeploymentDetails::class, DeploymentSpec::class)

En slik endring vil ikke kunne støttes med bruk av generics.

@bjartek bjartek closed this Oct 8, 2018
@bjartek bjartek deleted the feature/AOS-2867-reified branch October 8, 2018 13:16
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants