package Ġdev . mo et z . swagger . generator Ċ Ċ import Ġdev . mo et z . swagger . definition . Swagger Definition Ċ import Ġdev . mo et z . swagger . generator . Yaml File Generator . generate ĊĊ Ċ /** Ċ Ġ* ĠA Ġgenerator Ġwhich Ġconverts Ġa Ġ[ Swagger Definition ] Ġinto Ġa ĠYAML - file . Ċ Ġ* ĠSee Ġ[ generate ]. Ċ Ġ*/ Ċ object ĠYaml File Generator Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe Ġpadding Ġfor Ġthe Ġyaml Ġfile Ġindentation . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġconst Ġval ĠP ADDING Ġ= Ġ" Ġ Ġ" ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠConverts Ġthe Ġgiven Ġ[ definition ] Ġinto Ġa ĠYAML Ġfile Ġdefinition . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġdefinition ĠThe Ġ[ Swagger Definition ] Ġto Ġgenerate Ġthe ĠYAML Ġfile Ġof . ĊĠĠĠĠ Ġ* Ġ@ return Ġthe Ġcontents Ġof Ġthe ĠYAML Ġfile Ġas Ġa Ġstring ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġgenerate ( definition : ĠSwagger Definition ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠstringBuilder Ġ= ĠStringBuilder (" swagger : Ġ'${ definition . swagger File Version }' \ n ") ĊĊĠĠĠĠĠĠĠ Ġdefinition . info ?. getY aml Lines ()?. forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstringBuilder . append ("$ it \ n ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġdefinition . tags . getY aml Lines (). forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstringBuilder . append ("$ it \ n ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( definition . paths . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstringBuilder . append (" paths :\ n ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdefinition . paths ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. groupBy Ġ{ Ġit . path Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġ(_, Ġpaths In Group ) Ġ-> Ġpaths In Group . to Yaml Lines () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstringBuilder . append ("$ P ADDING $ it \ n ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( definition . definitions . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstringBuilder . append (" definitions :\ n ") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstringBuilder . append ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdefinition . definitions ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġ( name , Ġreferenced Definition ) Ġ-> Ġname Ġto Ġreferenced Definition . to Yaml Lines () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. join ToString ( separator Ġ= Ġ"\ n ") Ġ{ Ġ( name , Ġyaml Lines ) Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġyaml Lines . join ToString ( prefix Ġ= Ġ"$ P ADDING $ name :\ n ", Ġseparator Ġ= Ġ"\ n ") Ġ{ Ġ"$ P ADDING $ P ADDING $ it " Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn ĠstringBuilder . toString () ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠE sc apes Ġthe Ġquotes Ġ(` "` ) Ġin Ġthe Ġgiven Ġstring Ġfor Ġa ĠYAML Ġstring . Ġ( turn s Ġ` "` Ġinto Ġ` \" `) ĊĠĠĠĠ Ġ* Ġ@ return Ġthe Ġgiven Ġreceiver Ġ( string ) Ġwith Ġescaped Ġquotes ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun ĠString . escape Quotes (): ĠString Ġ= Ġthis . replace (" \"", Ġ"\\ \" ") ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ@ return Ġa Ġlist Ġof Ġlines Ġfor Ġthe ĠYAML Ġdefinition Ġwhich Ġrepresents Ġthe Ġinfo Ġelements Ġof Ġthe Ġswagger Ġspecification . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun ĠSwagger Definition . Info . getY aml Lines (): ĠList < String > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlist Ġ= Ġmutable ListOf (" info :") ĊĊĠĠĠĠĠĠĠ Ġdescription ?. also Ġ{ Ġdescription Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist . addAll ( description ToList ( description ). map Ġ{ Ġ"$ P ADDING $ it " Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġversion ?. also Ġ{ Ġversion Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist . add ("${ P ADDING } version : Ġ'$ version '") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġtitle ?. also Ġ{ Ġtitle Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist . add ("${ P ADDING } title : Ġ${ title . escape For Yaml And Wrap In Quotes () }") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġhost ?. also Ġ{ Ġhost Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist . add (" host : Ġ${ host . escape For Yaml And Wrap In Quotes () }") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠbasePath ?. also Ġ{ ĠbasePath Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist . add (" basePath : Ġ${ basePath . escape For Yaml And Wrap In Quotes () }") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġlist . add (" sche mes :") ĊĠĠĠĠĠĠĠ Ġlist . addAll ( sche mes . map Ġ{ Ġ"$ P ADDING - Ġ$ it " Ġ}) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġlist . toList () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠList < Swagger Definition . Tag >. getY aml Lines (): ĠList < String > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( this . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlist Ġ= Ġmutable ListOf (" tags :") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist . addAll ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . flatMap Ġ{ Ġtag Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ P ADDING - Ġname : Ġ${ tag . name }" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ+ Ġdescription ToList ( tag . description ). map Ġ{ Ġ"$ P ADDING $ P ADDING $ it " Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist . toList () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġempty List () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠList < Swagger Definition . Path >. to Yaml Lines (): ĠList < String > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlist Ġ= Ġmutable ListOf ( this . first (). path . escape For Yaml And Wrap In Quotes () Ġ+ Ġ": ") ĊĊĠĠĠĠĠĠĠ Ġthis . forEach Ġ{ Ġpath Definition Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist . add ("$ P ADDING ${ path Definition . method }: ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( path Definition . tags . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist . add ("$ P ADDING ${ P ADDING } tags :") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpath Definition . tags . forEach Ġ{ Ġtag Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist . add ("$ P ADDING $ P ADDING $ P ADDING - Ġ$ tag ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpath Definition . summary ?. also Ġ{ Ġsummary Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist . add ("$ P ADDING ${ P ADDING } summary : Ġ${ summary . escape For Yaml And Wrap In Quotes () }") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpath Definition . description ?. also Ġ{ Ġdescription Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist . addAll ( description ToList ( description ). map Ġ{ Ġ"$ P ADDING $ P ADDING $ it " Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpath Definition . operation Id ?. also Ġ{ Ġoperation Id Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist . add ("$ P ADDING ${ P ADDING } operation Id : Ġ${ operation Id . escape For Yaml And Wrap In Quotes () }") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġpath Definition . deprecated ?. also Ġ{ Ġdeprecated Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist . add ("$ P ADDING ${ P ADDING } deprecated : Ġ$ deprecated ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( path Definition . pro duces . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist . add ("$ P ADDING ${ P ADDING } pro duces :") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist . addAll ( path Definition . pro duces . map Ġ{ Ġproduces Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ P ADDING $ P ADDING $ P ADDING - Ġ$ pro duces " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( path Definition . consume s . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist . add ("$ P ADDING ${ P ADDING } consume s :") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist . addAll ( path Definition . consume s . map Ġ{ Ġconsume s Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ P ADDING $ P ADDING $ P ADDING - Ġ$ consume s " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( path Definition . parameters . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist . add ("$ P ADDING ${ P ADDING } parameters :") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist . addAll ( path Definition . parameters . flatMap Ġ{ Ġparameter Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparameter . to Yaml Lines (). map Ġ{ Ġ"$ P ADDING $ P ADDING $ P ADDING $ it " Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( path Definition . responses . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist . add ("$ P ADDING ${ P ADDING } responses :") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpath Definition . responses . forEach Ġ{ Ġresponse Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist . addAll ( response . to Yaml Lines (). map Ġ{ Ġ"$ P ADDING $ P ADDING $ P ADDING $ it " Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġlist . toList () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠSwagger Definition . Path . Parameter Definition . to Yaml Lines (): ĠList < String > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlist Ġ= Ġmutable ListOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"- Ġname : Ġ$ name ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"${ P ADDING } in : Ġ${ ` in ` }" ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġdescription ?. also Ġ{ Ġdescription Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist . addAll ( description ToList ( description ). map Ġ{ Ġ"$ P ADDING $ it " Ġ}) ĊĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠĠĠĠĠ Ġdefault ?. also Ġ{ Ġdefault Ġ-> Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġlist . add ("${ P ADDING } default : Ġ${ default . escape For Yaml And Wrap In Quotes () }") Ċ // ĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġrequired ?. also Ġ{ Ġrequired Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist . add ("${ P ADDING } required : Ġ$ required ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġtype ?. also Ġ{ Ġtype Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist . add ("${ P ADDING } type : Ġ$ type ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġenum ?. also Ġ{ Ġenum Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist . add ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"${ P ADDING } enum : Ġ" Ġ+ Ġenum . join ToString ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprefix Ġ= Ġ"[", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpostfix Ġ= Ġ" ]", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġseparator Ġ= Ġ"," ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ Ġit . escape For Yaml And Wrap In Quotes () Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġschema ?. also Ġ{ Ġschema Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist . add ("${ P ADDING } schema :") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist . addAll ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġschema . to Yaml Lines () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġ"${ P ADDING }${ P ADDING }$ it " Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġformat ?. also Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist . add ("${ P ADDING } collection Format : Ġ$ format ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist . addAll ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrequire NotNull ( array Items Schema ) Ġ{ Ġ" array Items Schema Ġis Ġn " Ġ}. to Yaml Lines () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġ"${ P ADDING }$ it " Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġlist . toList () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠSwagger Definition . Path . Schema Definition . to Yaml Lines (): ĠList < String > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( this ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠSwagger Definition . Path . Schema Definition . Object Schema Definition Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlist Ġ= Ġmutable ListOf < String >() ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist . add (" type : Ġ$ type ") ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription ?. also Ġ{ Ġdescription Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist . addAll ( description ToList ( description )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrequired Properties Ġ= Ġproperties . filter Ġ{ Ġ(_, Ġschema ) Ġ-> Ġschema . required Ġ== Ġtrue Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( required Properties . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist . add (" required :") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrequired Properties . forEach Ġ{ Ġ( name , Ġ_) Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist . add ("$ P ADDING - Ġ$ name ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( properties . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist . add (" properties :") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproperties . forEach Ġ{ Ġ( name , Ġschema ) Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist . add ("$ P ADDING $ name :") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist . addAll ( schema . to Yaml Lines (). map Ġ{ Ġ"$ P ADDING $ P ADDING $ it " Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist . toList () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠSwagger Definition . Path . Schema Definition . Array Schema Definition Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlist Ġ= Ġmutable ListOf < String >() ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist . add (" type : Ġ$ type ") ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription ?. also Ġ{ Ġdescription Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist . addAll ( description ToList ( description )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitems Schema ?. also Ġ{ Ġitem Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist . add (" items :") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist . addAll ( item . to Yaml Lines (). map Ġ{ Ġ"$ P ADDING $ it " Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġlist . toList () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠSwagger Definition . Path . Schema Definition . Type Schema Definition Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlist Ġ= Ġmutable ListOf < String >() ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist . add (" type : Ġ$ type ") ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription ?. also Ġ{ Ġdescription Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist . addAll ( description ToList ( description )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexample ?. also Ġ{ Ġexample Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist . addAll ( example ToList ( example )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġformat ?. also Ġ{ Ġformat Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist . add (" format : Ġ${ format . escape For Yaml And Wrap In Quotes () }") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġenum ?. also Ġ{ Ġenum Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist . add (" enum :") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist . addAll ( enum . map Ġ{ Ġenum Value Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ P ADDING - Ġ$ enum Value " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġminimum ?. also Ġ{ Ġ( minimum , Ġexclusive ) Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist . add (" minimum : Ġ$ minimum ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist . add (" exclusive Minimum : Ġ$ exclusive ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmaximum ?. also Ġ{ Ġ( maximum , Ġexclusive ) Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist . add (" maximum : Ġ$ maximum ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist . add (" exclusive Maximum : Ġ$ exclusive ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmultiple Of ?. also Ġ{ Ġmultiple Of Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist . add (" multiple Of : Ġ$ multiple Of ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmin Length ?. also Ġ{ Ġmin Length Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist . add (" min Length : Ġ$ min Length ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠmaxLength ?. also Ġ{ ĠmaxLength Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist . add (" maxLength : Ġ$ maxLength ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpattern ?. also Ġ{ Ġpattern Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist . add (" pattern : Ġ$ pattern ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġlist . toList () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠSwagger Definition . Path . Schema Definition . Referenced Schema Definition Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠlistOf ("\ $ ref : Ġ'# / definitions /$ name '") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠSwagger Definition . Path . Response Definition . to Yaml Lines (): ĠList < String > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlist Ġ= Ġmutable ListOf ("$ status :") ĊĠĠĠĠĠĠĠ Ġdescription ?. also Ġ{ Ġdescription Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist . addAll ( description ToList ( description ). map Ġ{ Ġ"$ P ADDING $ it " Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġschema ?. also Ġ{ Ġschema Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist . add ("${ P ADDING } schema :") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist . addAll ( schema . to Yaml Lines (). map Ġ{ Ġ"$ P ADDING $ P ADDING $ it " Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġlist . toList () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġdescription ToList ( description : ĠString ): ĠList < String > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( description . contains ('\ n ')) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (" description : Ġ| ") Ġ+ Ġdescription . split ('\ n '). map Ġ{ Ġ"${ P ADDING }$ it " Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (" description : Ġ${ description . escape For Yaml And Wrap In Quotes () }") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġexample ToList ( example : ĠString ): ĠList < String > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( example . contains ('\ n ')) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (" example : Ġ| ") Ġ+ Ġexample . split ('\ n '). map Ġ{ Ġ"${ P ADDING }$ it " Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (" example : Ġ${ example . escape For Yaml And Wrap In Quotes () }") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprivate Ġfun ĠString . escape For Yaml And Wrap In Quotes (): ĠString Ġ= Ġ"\" ${ this . replace (" \"", Ġ"\\ \" ") }\ "" Ċ Ċ } Ċ