/* ------------------------------------------------ ----- *\ Ċ ** ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ** Ċ ** ĠĠĠĠĠĠĠ Ġkomp at - hk 2 : ĠK omp at ibility Ġfor ĠH K 2 ĠĠĠĠĠĠĠĠĠĠĠ Ġ** Ċ ** ĠĠĠĠĠĠĠ ĠKotlin ĠCompatibility ĠProject Ġ( K omp at ) ĠĠĠĠĠĠĠ Ġ** Ċ ** ĠĠĠĠĠĠĠ ĠCopyright Ġ 2 0 1 7 - 2 0 1 8 , ĠAlex ĠWest ph al ĠĠĠĠĠĠĠĠĠĠ Ġ** Ċ ** ĠĠĠĠĠĠĠ Ġhttps :// github . com / ah wn z / k omp at - hk 2 ĠĠĠĠĠĠĠĠĠ Ġ** Ċ ** ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ** Ċ \* ------------------------------------------------ ----- */ Ċ package Ġnz . ah w . k omp at . hk 2 . binding Ċ Ċ import Ġorg . glass fish . hk 2 . api . Factory Ċ Ċ fun Ġbinder ( body : ĠAbstract Binder . () Ġ-> ĠUnit ): ĠAbstract Binder Ġ= Ġobject : ĠAbstract Binder () Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġconfigure () Ġ{ ĊĠĠĠĠĠĠĠ Ġbody . invoke ( this ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġ< T > Ġfactory ( provide : Ġ() Ġ-> ĠT ): ĠFactory < T > Ġ= Ġobject : ĠFactory < T > Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġprovide (): ĠT Ġ= Ġprovide () ĊĊĠĠĠ Ġoverride Ġfun Ġdispose ( instance : ĠT ) Ġ{} Ċ }