package Ġro cks . le ight . core . rest . discovery Ċ Ċ import Ġro cks . le ight . core . api . container . I Container Ċ import Ġro cks . le ight . core . api . rest . discovery . ID is covery Service Ċ import Ġro cks . le ight . core . api . server . IL ink Generator Ċ Ċ class ĠDiscovery Service ( container : ĠI Container ) Ġ: ĠI Discovery Service Ġ{ Ċ ĉ private Ġval Ġlink Generator : ĠI Link Generator Ġby Ġcontainer . lazy () Ċ ĉ private Ġval Ġdiscovery : ĠMutable Map < String , ĠLink > Ġ= Ġmutable Map Of () ĊĊ ĉ /** Ċĉ Ġ* Ġregister Ġa Ġnew Ġnamed Ġdiscovery Ġpath Ċĉ Ġ*/ Ċ ĉ override Ġfun Ġregister ( name : ĠString , Ġpath : ĠString , Ġdescription : ĠString , Ġparameters : ĠList < Parameter >) Ġ{ Ċĉ ĉ discovery [ name ] Ġ= ĠLink ( name , Ġlink Generator . link ( path ), Ġdescription , Ġparameters ) Ċ ĉ } ĊĊ ĉ /** Ċĉ Ġ* Ġset Ġall Ġitems Ġfrom Ġthe Ġgiven Ġmap Ċĉ Ġ*/ Ċ ĉ override Ġfun Ġregister ( map : ĠMap < String , ĠLink >) Ġ= Ġdiscovery . put All ( map ) ĊĊ ĉ override Ġfun Ġdiscovery (): ĠDiscovery Ġ= ĠDiscovery ( discovery ) Ċ } Ċ