package Ġcom . uf os cout . vert k . kode in . mail Ċ Ċ import Ġio . vertx . core . Vert x Ċ Ċ object ĠMail Client Factory Ġ{ ĊĊĠĠĠ Ġval ĠVER TX Ġ= Ġ" vertx " ĊĠĠĠ Ġval ĠIN _ MEMORY Ġ= Ġ" in Memory " ĊĠĠĠ Ġval ĠIN _ MEMORY _ VER TX Ġ= Ġ" in Memory Vert x " ĊĠĠĠ Ġval ĠNO _ OPS Ġ= Ġ" no Ops " ĊĊĠĠĠ Ġfun Ġbuild ( mail Config : ĠMail Config , Ġvert x : ĠVert x ): ĠMail Client Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( mail Config . client Type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠVER TX Ġ-> ĠVert x Mail Client ( mail Config . config , Ġvert x ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠIN _ MEMORY Ġ-> ĠIn Memory Mail Client Decorator () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠIN _ MEMORY _ VER TX Ġ-> ĠIn Memory Mail Client Decorator ( Vert x Mail Client ( mail Config . config , Ġvert x )) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠNO _ OPS Ġ-> ĠNo Ops Mail Client () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ Ġ// ĠNote Ġthe Ġblock ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠRuntimeException (" Bad Ġconfiguration : ĠUnknown ĠMail Ġclient Ġtype : Ġ[ ${ mail Config . client Type }] ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }