package Ġcom . ep ages . rest docs . apis pec . openapi 2 Ċ Ċ import Ġcom . fasterxml . jackson . core . util . Default PrettyPrinter Ċ import Ġio . swagger . models . Swagger Ċ import Ġio . swagger . util . Json Ċ Ċ object ĠApi Specification Writer Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġyaml Formats Ġ= Ġset Of (" yaml ", Ġ" yml ") ĊĠĠĠ Ġprivate Ġval Ġjson Formats Ġ= Ġset Of (" json ") ĊĊĠĠĠ Ġfun Ġserialize ( format : ĠString , Ġapi Specification : ĠSwagger ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġvalidate Format ( format ) ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( yaml Formats . contains ( format )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoptimized Yaml (). writeValue AsString ( api Specification ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠJson . pretty (). writeValue AsString ( api Specification ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġoptimized Yaml () Ġ= ĊĠĠĠĠĠĠĠ ĠOptim ized Yaml Serialization ObjectMapper Factory . create Yaml (). writer ( Default PrettyPrinter ()) ĊĊĠĠĠ Ġfun Ġsupported Formats () Ġ= Ġyaml Formats Ġ+ Ġjson Formats ĊĊĠĠĠ Ġfun Ġvalidate Format ( format : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! supported Formats (). contains ( format )) Ġthrow ĠIllegalArgumentException (" Format Ġ'$ format ' Ġis Ġinvalid Ġ- Ġsupported Ġformats Ġare Ġ'${ supported Formats () }' ") ĊĠĠĠ Ġ} Ċ } Ċ