package Ġg mb h . w app . strip per Ċ Ċ import Ġio . swagger . v 3 . o as . models . Open API Ċ import Ġio . swagger . v 3 . o as . models . Operation Ċ import Ġio . swagger . v 3 . o as . models . Path Item Ċ import Ġio . swagger . v 3 . o as . models . headers . Header Ċ import Ġio . swagger . v 3 . o as . models . media .* Ċ import Ġio . swagger . v 3 . o as . models . parameters . Parameter Ċ import Ġio . swagger . v 3 . o as . models . responses . ApiResponse Ċ import Ġjava . util .* Ċ Ċ type alias ĠVisitor Ġ= Ġ( Schema <* >) Ġ-> ĠUnit Ċ private Ġtype alias ĠVis ited Fun Ġ= Ġ( Schema <* >) Ġ-> ĠBoolean Ċ Ċ fun ĠOpenAPI . visit All Schemas ( ĊĠĠĠ Ġvisitor : ĠVisitor Ċ ) Ġ{ ĊĠĠĠ Ġval Ġmarker Ġ= ĠAny () ĊĠĠĠ Ġval Ġvisited Ġ= ĠIdentity HashMap < Any , ĠAny >() ĊĠĠĠ Ġval Ġvis Fun : ĠVis ited Fun Ġ= Ġ{ Ġschema Ġ-> Ġvisited . put ( schema , Ġmarker ) Ġ== Ġnull Ġ} ĊĊĠĠĠ Ġpaths ?. forEach Ġ{ Ġ(_, Ġpath Item ) Ġ-> Ġpath Item . visit ( this , Ġvis Fun , Ġvisitor ) Ġ} ĊĠĠĠ Ġcomponents ?. parameters ?. forEach Ġ{ Ġ(_, Ġparameter ) Ġ-> Ġparameter . visit ( this , Ġvis Fun , Ġvisitor ) Ġ} ĊĠĠĠ Ġcomponents ?. responses ?. forEach Ġ{ Ġ(_, Ġresponse ) Ġ-> Ġresponse . visit ( this , Ġvis Fun , Ġvisitor ) Ġ} Ċ } Ċ Ċ fun ĠOpenAPI . visit All Responses ( ĊĠĠĠ Ġvisitor : Ġ( String , ĠApiResponse ) Ġ-> ĠUnit Ċ ) Ġ{ ĊĠĠĠ Ġpaths ?. forEach Ġ{ Ġ(_, Ġpath Item ) Ġ-> ĊĠĠĠĠĠĠĠ Ġpath Item . read Operations (). forEach Ġ{ Ġoperation Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoperation . responses ?. forEach Ġ{ Ġ( code , Ġapi Response ) Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvisitor ( code , Ġapi Response ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun ĠOpenAPI . visit All Parameters ( ĊĠĠĠ Ġvisitor : Ġ( Parameter ) Ġ-> ĠUnit Ċ ) Ġ{ ĊĠĠĠ Ġpaths ?. forEach Ġ{ Ġ(_, Ġpath Item ) Ġ-> ĊĠĠĠĠĠĠĠ Ġpath Item . parameters ?. forEach Ġ{ Ġparam Ġ-> Ġvisitor ( param ) Ġ} ĊĠĠĠĠĠĠĠ Ġpath Item . read Operations (). forEach Ġ{ Ġoperation Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoperation . parameters ?. forEach Ġ{ Ġparam Ġ-> Ġvisitor ( param ) Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ private Ġfun ĠPath Item . visit ( open API : ĠOpenAPI , Ġvis Fun : ĠVis ited Fun , Ġvisitor : ĠVisitor ) Ġ{ ĊĠĠĠ Ġparameters ?. forEach Ġ{ Ġparam Ġ-> Ġparam . visit ( open API , Ġvis Fun , Ġvisitor ) Ġ} ĊĠĠĠ Ġread Operations (). forEach Ġ{ Ġop Ġ-> Ġop . visit ( open API , Ġvis Fun , Ġvisitor ) Ġ} Ċ } Ċ Ċ private Ġfun ĠParameter . visit ( open API : ĠOpenAPI , Ġvis Fun : ĠVis ited Fun , Ġvisitor : ĠVisitor ) Ġ{ ĊĠĠĠ Ġschema ?. visit ( open API , Ġvis Fun , Ġvisitor ) ĊĠĠĠ Ġcontent ?. visit ( open API , Ġvis Fun , Ġvisitor ) Ċ } Ċ Ċ private Ġfun ĠOperation . visit ( open API : ĠOpenAPI , Ġvis Fun : ĠVis ited Fun , Ġvisitor : ĠVisitor ) Ġ{ ĊĠĠĠ Ġparameters ?. forEach Ġ{ Ġparam Ġ-> Ġparam . visit ( open API , Ġvis Fun , Ġvisitor ) Ġ} ĊĠĠĠ Ġrequest Body ?. content ?. visit ( open API , Ġvis Fun , Ġvisitor ) ĊĠĠĠ Ġresponses ?. forEach Ġ{ Ġ(_, Ġresponse ) Ġ-> Ġresponse . visit ( open API , Ġvis Fun , Ġvisitor ) Ġ} Ċ } Ċ Ċ private Ġfun ĠContent . visit ( open API : ĠOpenAPI , Ġvis Fun : ĠVis ited Fun , Ġvisitor : ĠVisitor ) Ġ{ ĊĠĠĠ ĠforEach Ġ{ Ġ(_, Ġmedia Type ) Ġ-> Ġmedia Type . schema ?. visit ( open API , Ġvis Fun , Ġvisitor ) Ġ} Ċ } Ċ Ċ private Ġfun ĠApiResponse . visit ( open API : ĠOpenAPI , Ġvis Fun : ĠVis ited Fun , Ġvisitor : ĠVisitor ) Ġ{ ĊĠĠĠ Ġcontent ?. visit ( open API , Ġvis Fun , Ġvisitor ) ĊĠĠĠ Ġheaders ?. forEach Ġ{ Ġ(_, Ġheader ) Ġ-> Ġheader . visit ( open API , Ġvis Fun , Ġvisitor ) Ġ} Ċ } Ċ Ċ private Ġfun ĠHeader . visit ( open API : ĠOpenAPI , Ġvis Fun : ĠVis ited Fun , Ġvisitor : ĠVisitor ) Ġ{ ĊĠĠĠ Ġschema ?. visit ( open API , Ġvis Fun , Ġvisitor ) ĊĠĠĠ Ġcontent ?. visit ( open API , Ġvis Fun , Ġvisitor ) Ċ } Ċ Ċ private Ġfun ĠSchema <* >. visit ( open API : ĠOpenAPI , Ġvis Fun : ĠVis ited Fun , Ġvisitor : ĠVisitor ) Ġ{ ĊĠĠĠ Ġif Ġ(! vis Fun ( this )) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠ Ġ} ĊĠĠĠ Ġvisitor ( this ) ĊĊĠĠĠ Ġval Ġref Type Ġ= Ġget Ref TypeName () ĊĠĠĠ Ġif Ġ( ref Type Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġopen API . components ?. schemas ?. get ( ref Type )?. visit ( open API , Ġvis Fun , Ġvisitor ) ĊĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġwhen Ġ( this ) Ġ{ ĊĠĠĠĠĠĠĠ Ġis ĠComp osed Schema Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġone Of ?. forEach Ġ{ Ġs Ġ-> Ġs . visit ( open API , Ġvis Fun , Ġvisitor ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġall Of ?. forEach Ġ{ Ġs Ġ-> Ġs . visit ( open API , Ġvis Fun , Ġvisitor ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġany Of ?. forEach Ġ{ Ġs Ġ-> Ġs . visit ( open API , Ġvis Fun , Ġvisitor ) Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġis ĠArray Schema Ġ-> Ġitems ?. visit ( open API , Ġvis Fun , Ġvisitor ) ĊĠĠĠĠĠĠĠ Ġis ĠMap Schema Ġ-> Ġ( additional Properties Ġas ? ĠSchema <* >) ?. visit ( open API , Ġvis Fun , Ġvisitor ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġnot ?. visit ( open API , Ġvis Fun , Ġvisitor ) ĊĠĠĠ Ġproperties ?. forEach Ġ{ Ġ(_, Ġprop ) Ġ-> Ġprop . visit ( open API , Ġvis Fun , Ġvisitor ) Ġ} Ċ } Ċ