package Ġorg . b aby fish . kim mer . sql . meta Ċ Ċ import Ġorg . b aby fish . kim mer . Immutable Ċ import Ġorg . b aby fish . kim mer . graphql . meta . Scalar Prop Impl Ċ import Ġorg . b aby fish . kim mer . meta . Draft Info Ċ import Ġorg . b aby fish . kim mer . meta . Immutable Prop Ċ import Ġorg . b aby fish . kim mer . meta . Immutable Type Ċ import Ġorg . b aby fish . kim mer . sql . Association Ċ import Ġkotlin . reflect . K Class Ċ Ċ internal Ġclass ĠAssociation Type Impl ( ĊĠĠĠ Ġoverride Ġval Ġsource Type : ĠImmutable Type , ĊĠĠĠ Ġoverride Ġval Ġtarget Type : ĠImmutable Type Ċ ): ĠAssociation Type Ġ{ ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( Association :: class . java . isAssignableFrom ( source Type . kotlin Type . java )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalArgumentException (" Association . source Ġcannot Ġbe Ġassociation Ġtype ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( Association :: class . java . isAssignableFrom ( target Type . kotlin Type . java )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalArgumentException (" Association . target Ġcannot Ġbe Ġassociation Ġtype ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġval Ġid Prop : ĠImmutable Prop Ġ= ĠScalar Prop Impl ( this , ĠAssociation < *, Ġ*, Ġ*, Ġ* >:: id ) ĊĊĠĠĠ Ġoverride Ġval Ġsource Prop : ĠImmutable Prop Ġ= ĠAssociation Source Prop Impl ( this ) ĊĊĠĠĠ Ġoverride Ġval Ġtarget Prop : ĠImmutable Prop Ġ= ĠAssociation Target Prop Impl ( this ) ĊĊĠĠĠ Ġoverride Ġval Ġkotlin Type : ĠK Class < out ĠImmutable > ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠAssociation :: class ĊĊĠĠĠ Ġoverride Ġval Ġsimple Name : ĠString ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠAssociation :: class . simple Name !! ĊĊĠĠĠ Ġoverride Ġval Ġqualified Name : ĠString ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠAssociation :: class . qualified Name !! ĊĊĠĠĠ Ġoverride Ġval Ġis Abstract : ĠBoolean ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġfalse ĊĊĠĠĠ Ġoverride Ġval Ġsuper Types : ĠSet < Immutable Type > ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġempty Set () ĊĊĠĠĠ Ġoverride Ġval Ġdeclared Props : ĠMap < String , ĠImmutable Prop > Ġ= ĊĠĠĠĠĠĠĠ Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" id " Ġto Ġid Prop , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" source " Ġto Ġsource Prop , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" target " Ġto Ġtarget Prop ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠ Ġoverride Ġval Ġprops : ĠMap < String , ĠImmutable Prop > ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġdeclared Props ĊĊĠĠĠ Ġoverride Ġval Ġdraft Info : ĠDraft Info ? ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ= ĊĠĠĠĠĠĠĠ Ġ" Association < ${ source Type . qualified Name }, , ${ target Type . qualified Name }, >" Ċ }