package Ġorg . http 4 k . openapi . builders Ċ Ċ import Ġorg . http 4 k . openapi . Open Api ApiKey Security Ċ import Ġorg . http 4 k . openapi . Open Api Http Security Ċ import Ġorg . http 4 k . openapi . Open Api OAuth 2 Security Ċ import Ġorg . http 4 k . openapi . Open Api Open Id Connect Security Ċ import Ġorg . http 4 k . openapi . Open Api Security Scheme Ċ import Ġorg . http 4 k . util . Append able Ċ import Ġorg . http 4 k . util . builders . Base Builder Ċ Ċ class ĠOpen Api Security Scheme Dsl ( original : ĠOpen Api Security Scheme ) ĊĠĠĠ Ġ: ĠBase Builder < Open Api Security Scheme , ĠOpen Api Security Scheme Dsl >( :: Open Api Security Scheme Dsl ) Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġinvoke ( f : ĠOpen Api Security Scheme Dsl . () Ġ-> ĠUnit ) Ġ= Ġf ( this ) ĊĊĠĠĠ Ġprivate Ġvar ĠapiKey : ĠApi Key ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġhttp : ĠHttp ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġoauth 2 : ĠOAuth 2 ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġopen Id Connect : ĠOpen Id Connect ? Ġ= Ġnull ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( original ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠOpen Api ApiKey Security Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . apiKey Ġ= ĠApi Key ( original ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠOpen Api Http Security Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . http Ġ= ĠHttp ( original ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠOpen Api OAuth 2 Security Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . oauth 2 Ġ= ĠOAuth 2 ( original ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠOpen Api Open Id Connect Security Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . open Id Connect Ġ= ĠOpen Id Connect ( original ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġnull Everything () Ġ{ ĊĠĠĠĠĠĠĠ ĠapiKey Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġhttp Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġoauth 2 Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġopen Id Connect Ġ= Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠapiKey ( f : ĠApi Key . () Ġ-> ĠUnit , Ġempty Value : ĠOpen Api ApiKey Security Ġ= ĠOpen Api ApiKey Security . empty ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( apiKey Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull Everything () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠapiKey Ġ= ĠapiKey Ġ?: ĠApi Key ( empty Value ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġf ( apiKey !! ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġhttp ( f : ĠHttp . () Ġ-> ĠUnit , Ġempty Value : ĠOpen Api Http Security Ġ= ĠOpen Api Http Security . empty ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( http Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull Everything () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhttp Ġ= Ġhttp Ġ?: ĠHttp ( empty Value ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġf ( http !! ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġoauth 2 ( f : ĠOAuth 2 . () Ġ-> ĠUnit , Ġempty Value : ĠOpen Api OAuth 2 Security Ġ= ĠOpen Api OAuth 2 Security . empty ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( oauth 2 Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull Everything () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoauth 2 Ġ= Ġoauth 2 Ġ?: ĠOAuth 2 ( empty Value ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġf ( oauth 2 !! ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġopen Id Connect ( ĊĠĠĠĠĠĠĠ Ġf : ĠOpen Id Connect . () Ġ-> ĠUnit , ĊĠĠĠĠĠĠĠ Ġempty Value : ĠOpen Api Open Id Connect Security Ġ= ĠOpen Api Open Id Connect Security . empty ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( open Id Connect Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull Everything () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġopen Id Connect Ġ= Ġopen Id Connect Ġ?: ĠOpen Id Connect ( empty Value ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġf ( open Id Connect !! ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġbuild () Ġ= ĊĠĠĠĠĠĠĠ ĠapiKey ?. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġhttp ?. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġoauth 2 ?. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġopen Id Connect ?. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġthrow ĠIllegalStateException (" Program mer Ġerror Ġin Ġ${ this :: class . simple Name }" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" exact ly Ġone Ġof Ġeither Ġreal Ġor Ġexternal Ġshould Ġhave Ġa Ġvalue ") ĊĊĠĠĠ Ġclass ĠApi Key ( original : ĠOpen Api ApiKey Security ) ĊĠĠĠĠĠĠĠ Ġ: ĠBase Builder < Open Api ApiKey Security , ĠApi Key >( Open Api Security Scheme Dsl :: ApiKey ) Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġname Ġ= Ġoriginal . name ĊĠĠĠĠĠĠĠ Ġvar Ġin _ Ġ= Ġoriginal . in _ ĊĠĠĠĠĠĠĠ Ġvar Ġdescription Ġ= Ġoriginal . description ĊĠĠĠĠĠĠĠ Ġvar Ġextensions Ġ= ĠAppend able . of ( original . extensions ) ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġinvoke ( f : ĠApi Key . () Ġ-> ĠUnit ) Ġ= Ġf ( this ) ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġbuild () Ġ= ĠOpen Api ApiKey Security ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġin _, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescription , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġextensions . all ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠHttp ( original : ĠOpen Api Http Security ) ĊĠĠĠĠĠĠĠ Ġ: ĠBase Builder < Open Api Http Security , ĠHttp >( Open Api Security Scheme Dsl :: Http ) Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġscheme Ġ= Ġoriginal . scheme ĊĠĠĠĠĠĠĠ Ġvar Ġbe arer Format Ġ= Ġoriginal . bearer Format ĊĠĠĠĠĠĠĠ Ġvar Ġdescription Ġ= Ġoriginal . description ĊĠĠĠĠĠĠĠ Ġvar Ġextensions Ġ= ĠAppend able . of ( original . extensions ) ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġinvoke ( f : ĠHttp . () Ġ-> ĠUnit ) Ġ= Ġf ( this ) ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġbuild () Ġ= ĠOpen Api Http Security ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġscheme , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbe arer Format , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescription , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġextensions . all ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠOAuth 2 ( original : ĠOpen Api OAuth 2 Security ) ĊĠĠĠĠĠĠĠ Ġ: ĠBase Builder < Open Api OAuth 2 Security , ĠOAuth 2 >( Open Api Security Scheme Dsl :: OAuth 2 ) Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġflows Ġ= ĠOpen Api Oauth 2 Flows Dsl ( original . flows ) ĊĠĠĠĠĠĠĠ Ġvar Ġdescription Ġ= Ġoriginal . description ĊĠĠĠĠĠĠĠ Ġvar Ġextensions Ġ= ĠAppend able . of ( original . extensions ) ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġinvoke ( f : ĠOAuth 2 . () Ġ-> ĠUnit ) Ġ= Ġf ( this ) ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġbuild () Ġ= ĠOpen Api OAuth 2 Security ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġflows . build (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescription , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġextensions . all ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠOpen Id Connect ( original : ĠOpen Api Open Id Connect Security ) ĊĠĠĠĠĠĠĠ Ġ: ĠBase Builder < Open Api Open Id Connect Security , ĠOpen Id Connect >( Open Api Security Scheme Dsl :: Open Id Connect ) Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġopen Id Connect Url Ġ= Ġoriginal . open Id Connect Url ĊĠĠĠĠĠĠĠ Ġvar Ġdescription Ġ= Ġoriginal . description ĊĠĠĠĠĠĠĠ Ġvar Ġextensions Ġ= ĠAppend able . of ( original . extensions ) ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġinvoke ( f : ĠOpen Id Connect . () Ġ-> ĠUnit ) Ġ= Ġf ( this ) ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġbuild () Ġ= ĠOpen Api Open Id Connect Security ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġopen Id Connect Url , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescription , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġextensions . all ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠ Ġ} Ċ Ċ } ĊĊ