package Ġcom . ult imate logger . multi platform . di Ċ Ċ import Ġcom . ult imate logger . multi platform . di . util . named Ċ import Ġcom . ult imate logger . multi platform . di . util . to K oin Parameters Ċ import Ġcom . ult imate logger . multi platform . exception . Ult imate Logger Not Initialized Exception Ċ import Ġorg . k oin . core . K oin Ċ Ċ internal Ġobject ĠLazy Service Locator Ġ{ ĊĊĠĠĠ Ġvar Ġk oin : ĠK oin ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġval Ġk oin Private : ĠK oin ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġk oin Ġ?: Ġthrow ĠU lt imate Logger Not Initialized Exception () ĊĊĠĠĠ Ġinline Ġfun Ġ< re ified ĠDependency T > Ġget Dependency ( qual ifier String : ĠString ?) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Dependency < Dependency T >( qual ifier String , Ġ{}) ĊĊĠĠĠ Ġinline Ġfun Ġ< re ified ĠDependency T > Ġget Dependency ( var arg Ġparameters Getter : Ġ() Ġ-> ĠAny ?) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Dependency < Dependency T >( qual ifier String Ġ= Ġnull , Ġparameters Getter Ġ= Ġ* parameters Getter ) ĊĊĠĠĠ Ġinline Ġfun Ġ< re ified ĠDependency T > Ġget Dependency ( qual ifier String : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar arg Ġparameters Getter : Ġ() Ġ-> ĠAny ? Ġ= ĠarrayOf ()) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlazy Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġk oin Private . get < Dependency T >( named ( qual ifier String )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparameters Getter . to K oin Parameters () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ċ }