package Ġorg . jetbrains . research . k ex . config Ċ Ċ import Ġkotlinx . serialization . enum Members Ċ import Ġjava . util . regex . Pattern Ċ Ċ abstract Ġclass ĠConfig Ġ{ ĊĠĠĠ Ġabstract Ġfun Ġget StringValue ( section : ĠString , Ġname : ĠString ): ĠString ? ĊĊĠĠĠ Ġopen Ġfun Ġget Boolean Value ( section : ĠString , Ġname : ĠString ): ĠBoolean ? Ġ= Ġget StringValue ( section , Ġname )?. to Boolean () ĊĠĠĠ Ġopen Ġfun Ġget Int Value ( section : ĠString , Ġname : ĠString ): ĠInt ? Ġ= Ġget StringValue ( section , Ġname )?. toInt () ĊĠĠĠ Ġopen Ġfun Ġget Long Value ( section : ĠString , Ġname : ĠString ): ĠLong ? Ġ= Ġget StringValue ( section , Ġname )?. to Long () ĊĠĠĠ Ġopen Ġfun Ġget Double Value ( section : ĠString , Ġname : ĠString ): ĠDouble ? Ġ= Ġget StringValue ( section , Ġname )?. toDouble () ĊĊĠĠĠ Ġopen Ġfun Ġget Boolean Value ( section : ĠString , Ġname : ĠString , Ġdefault : ĠBoolean Ġ= Ġfalse ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Boolean Value ( section , Ġname ) Ġ?: Ġdefault ĊĊĠĠĠ Ġopen Ġfun Ġget StringValue ( section : ĠString , Ġname : ĠString , Ġdefault : ĠString Ġ= Ġ"") Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget StringValue ( section , Ġname ) Ġ?: Ġdefault ĊĊĠĠĠ Ġopen Ġfun Ġget Int Value ( section : ĠString , Ġname : ĠString , Ġdefault : ĠInt Ġ= Ġ 0 ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Int Value ( section , Ġname ) Ġ?: Ġdefault ĊĊĠĠĠ Ġopen Ġfun Ġget Long Value ( section : ĠString , Ġname : ĠString , Ġdefault : ĠLong Ġ= Ġ 0 L ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Long Value ( section , Ġname ) Ġ?: Ġdefault ĊĊĠĠĠ Ġopen Ġfun Ġget Double Value ( section : ĠString , Ġname : ĠString , Ġdefault : ĠDouble Ġ= Ġ 0 . 0 ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget StringValue ( section , Ġname )?. toDouble () Ġ?: Ġdefault ĊĊĠĠĠ Ġopen Ġfun Ġget Multiple StringValue ( section : ĠString , Ġname : ĠString , Ġdelimiter : ĠString Ġ= Ġ", ") Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget StringValue ( section , Ġname ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . split ( delimiter ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . as Sequence () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . map Ġ{ Ġit . replace ("\\ s ". to Regex (), Ġ"") Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . toList () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: ĠlistOf () ĊĊĠĠĠ Ġopen Ġfun Ġget Multiple Int Value ( section : ĠString , Ġname : ĠString , Ġdeli meter : ĠString Ġ= Ġ", ") Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Multiple StringValue ( section , Ġname , Ġdeli meter ). map Ġ{ Ġit . toInt () Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġget Multiple Long Value ( section : ĠString , Ġname : ĠString , Ġdeli meter : ĠString Ġ= Ġ", ") Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Multiple StringValue ( section , Ġname , Ġdeli meter ). map Ġ{ Ġit . to Long () Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġget Multiple Double Value ( section : ĠString , Ġname : ĠString , Ġdeli meter : ĠString Ġ= Ġ", ") Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Multiple StringValue ( section , Ġname , Ġdeli meter ). map Ġ{ Ġit . toDouble () Ġ} ĊĊĠĠĠ Ġinline Ġfun Ġ< re ified ĠT Ġ: ĠEnum < T >> Ġget EnumValue ( section : ĠString , Ġname : ĠString , Ġignore Case : ĠBoolean Ġ= Ġfalse ): ĠEnum < T >? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġconst Name Ġ= Ġget StringValue ( section , Ġname ) Ġ?: Ġreturn Ġnull ĊĠĠĠĠĠĠĠ Ġval Ġcomparator Ġ= Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġignore Case Ġ-> Ġ{ Ġa : ĠString , Ġb : ĠString Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpattern Ġ= ĠPattern . compile ( a , ĠPattern . CASE _ INS ENS ITIVE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpattern . matcher ( b ). find () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ Ġa : ĠString , Ġb : ĠString Ġ-> Ġa Ġ== Ġb Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn ĠT :: class . enum Members (). first OrNull Ġ{ Ġcomparator ( it . name , Ġconst Name ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinline Ġfun Ġ< re ified ĠT Ġ: ĠEnum < T >> Ġget EnumValue ( section : ĠString , Ġname : ĠString , Ġignore Case : ĠBoolean Ġ= Ġfalse , Ġdefault : ĠT ): ĠEnum < T > Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget EnumValue ( section , Ġname , Ġignore Case ) Ġ?: Ġdefault Ċ }