package Ġorg . my ddd . vertx . repository Ċ Ċ import Ġcom . google . inject . Abstract Module Ċ import Ġcom . google . inject . Gu ice Ċ import Ġio . vertx . core . Vert x Ċ import Ġio . vertx . core . json . JsonObject Ċ import Ġio . vertx . ext . mongo . Mongo Client Ċ import Ġorg . junit . jupiter . api . extension . Before All Callback Ċ import Ġorg . junit . jupiter . api . extension . Extension Context Ċ import Ġorg . my ddd . vertx . id . ID Generator Ċ import Ġorg . my ddd . vertx . id . Snow flake Distribut e Id Ċ import Ġorg . my ddd . vertx . id . String ID Generator Ċ import Ġorg . my ddd . vertx . id . UL ID String Generator Ċ import Ġorg . my ddd . vertx . ioc . Instance Factory Ċ import Ġorg . my ddd . vertx . ioc . gu ice . Gu ice Instance Provider Ċ import Ġorg . my ddd . vertx . repository . api . Document Entity Repository Ċ import Ġorg . my ddd . vertx . repository . mongo . Document Entity Repository Mongo Ċ import Ġorg . my ddd . vertx . string . Random ID String Ċ import Ġorg . my ddd . vertx . string . Random ID String Provider Ċ Ċ class ĠIO C Init Extension : Before All Callback Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġbefore All ( context : ĠExtension Context ?) Ġ{ ĊĠĠĠĠĠĠĠ ĠInstance Factory . set Instance Provider ( Gu ice Instance Provider ( Gu ice . create Injector ( object Ġ: ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAbstract Module () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġconfigure () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġvert x Ġ= ĠVert x . vertx () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbind ( Vert x :: class . java ). to Instance ( vertx ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbind ( Mongo Client :: class . java ). to Instance ( Mongo Client . create ( vertx , ĠJsonObject ())) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbind ( ID Generator :: class . java ). to Instance ( Snow flake Distribut e Id ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbind ( String ID Generator :: class . java ). to ( UL ID String Generator :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbind ( Random ID String :: class . java ). to ( Random ID String Provider :: class . java ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbind ( Document Entity Repository :: class . java ). to ( Document Entity Repository Mongo :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ))) ĊĠĠĠ Ġ} Ċ }