package Ġcom . k doc er . generator Ċ Ċ import Ġcom . intellij . psi . Psi Name Identifier Owner Ċ import Ġjava . util . regex . Pattern ĊĊ Ċ val ĠLOWER _ CASE _ REGEX _ SPLIT : ĠPattern Ġ= ĠPattern . compile (" (? < =[ a - zA - Z ]) (? =[ A - Z ]) ") Ċ const Ġval ĠUPPER _ CASE _ CHAR _ SPLIT : ĠChar Ġ= Ġ'_' Ċ const Ġval ĠL F Ġ= Ġ"\ n " Ċ interface ĠK Doc Generator Ġ{ ĊĊĠĠĠ Ġfun Ġgenerate (): ĠString ĊĊĠĠĠ Ġfun Ġto Params K doc ( keyword : ĠString Ġ= Ġ"@ param ", Ġparams : ĠList < Psi Name Identifier Owner >): ĠString Ġ= ĊĠĠĠĠĠĠĠ Ġparams . map Ġ{ Ġ"$ keyword Ġ${ it . name }" Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. join ToString ( LF , Ġtransform Ġ= Ġ{ Ġ"* Ġ$ it " Ġ}) ĊĊĠĠĠ Ġfun ĠStringBuilder . append Line ( text : ĠString ): ĠStringBuilder Ġ= Ġappend ( text ). append ( LF ) ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ@ param Ġname ĠThe Ġname ĊĠĠĠĠ Ġ* Ġ@ return ĠThe Ġresult Ġof Ġconverting Ġthe Ġname Ġto Ġa Ġphrase ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġname To Phrase All UpperCase ( name : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġname . split ( UPPER _ CASE _ CHAR _ SPLIT ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. join ToString ( separator Ġ= Ġ" Ġ") Ġ{ Ġs : ĠString Ġ-> Ġs . to Title Case () Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġname To Phrase ( name : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( name . is All UpperCase ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġname To Phrase All UpperCase ( name ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġarray Ġ= Ġname . split ( LOWER _ CASE _ REGEX _ SPLIT ) ĊĠĠĠĠĠĠĠ Ġval Ġphrase Ġ= Ġarray . join ToString ( separator Ġ= Ġ" Ġ") Ġ{ s : ĠString Ġ-> Ġs . toLowerCase ()} ĊĠĠĠĠĠĠĠ Ġreturn Ġphrase . capitalize () ĊĠĠĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* ĠConverts Ġa ĠString Ġto ĠTitle ĠCase Ċ Ġ* Ġ@ return ĠThe ĠString Ġin ĠTitle ĠCase Ċ Ġ*/ Ċ private Ġfun ĠString . to Title Case (): ĠString Ġ{ ĊĠĠĠ Ġval Ġsb Ġ= ĠStringBuilder () ĊĠĠĠ Ġthis . forEach Indexed Ġ{ Ġi : ĠInt , Ġc : ĠChar Ġ-> ĊĠĠĠĠĠĠĠ Ġsb . append ( if Ġ( i Ġ== Ġ 0 ) Ġ{ c . toUpperCase ()} Ġelse Ġ{ c . toLowerCase () }) ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġsb . toString () Ċ } Ċ Ċ /** Ċ Ġ* ĠChecks Ġwhether Ġa ĠString Ġis Ġall Ġuppercase , Ġby Ġiter ating Ġthrough Ġall Ġthe Ġcharacters Ċ Ġ* Ġ@ return ĠWhether Ġthe ĠString Ġis Ġall Ġuppercase Ċ Ġ*/ Ċ private Ġfun ĠString . is All UpperCase (): ĠBoolean Ġ{ ĊĠĠĠ Ġthis . forEach Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( it . is LowerCase ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġtrue Ċ } ĊĊ