package Ġorg . bon itas oft . engine . dsl . process Ċ Ċ import Ġorg . bon itas oft . engine . bpm . contract . Type Ċ import Ġorg . bon itas oft . engine . bpm . process . impl . Contract Definition Builder Ċ import Ġorg . bon itas oft . engine . bpm . process . impl . Process Definition Builder Ċ import Ġorg . bon itas oft . engine . bpm . process . impl . User Task Definition Builder Ċ Ċ @ org . bon itas oft . engine . dsl . process . Process DSL Marker Ċ class ĠContract Container Ġ{ ĊĊĠĠĠ Ġval Ġinputs : ĠMutable List < org . bon itas oft . engine . dsl . process . Contract Input DSL Builder > Ġ= Ġmutable ListOf () ĊĊĊĠĠĠ Ġval Ġtext : Ġorg . bon itas oft . engine . dsl . process . Contract Input DSL Builder ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġcreate ( Type . TEXT ) ĊĠĠĠ Ġval Ġinteger : Ġorg . bon itas oft . engine . dsl . process . Contract Input DSL Builder ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġcreate ( Type . INTEGER ) ĊĠĠĠ Ġval Ġlong : Ġorg . bon itas oft . engine . dsl . process . Contract Input DSL Builder ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġcreate ( Type . LONG ) ĊĠĠĠ Ġval Ġboolean : Ġorg . bon itas oft . engine . dsl . process . Contract Input DSL Builder ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġcreate ( Type . BOOLEAN ) ĊĊĠĠĠ Ġin fix Ġfun Ġorg . bon itas oft . engine . dsl . process . Contract Input DSL Builder . named ( name : ĠString ): Ġorg . bon itas oft . engine . dsl . process . Contract Input DSL Builder Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . name Ġ= Ġname ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġin fix Ġfun Ġorg . bon itas oft . engine . dsl . process . Contract Input DSL Builder . with Description ( description : ĠString ): Ġorg . bon itas oft . engine . dsl . process . Contract Input DSL Builder Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . description Ġ= Ġdescription ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprivate Ġfun Ġcreate ( type : ĠType ): Ġorg . bon itas oft . engine . dsl . process . Contract Input DSL Builder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġinput Ġ= Ġorg . bon itas oft . engine . dsl . process . Contract Input DSL Builder ( type ) ĊĠĠĠĠĠĠĠ Ġinputs . add ( input ) ĊĠĠĠĠĠĠĠ Ġreturn Ġinput ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġbuild ( builder : ĠProcess Definition Builder , Ġdata Container : Ġorg . bon itas oft . engine . dsl . process . Data Container ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcontract Builder Ġ= Ġbuilder . add Contract () ĊĠĠĠĠĠĠĠ Ġbuild ( contract Builder , Ġdata Container ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġbuild ( builder : ĠUser Task Definition Builder , Ġdata Container : Ġorg . bon itas oft . engine . dsl . process . Data Container ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcontract Builder Ġ= Ġbuilder . add Contract () ĊĠĠĠĠĠĠĠ Ġbuild ( contract Builder , Ġdata Container ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġbuild ( builder : ĠContract Definition Builder , Ġdata Container : Ġorg . bon itas oft . engine . dsl . process . Data Container ) Ġ{ ĊĠĠĠĠĠĠĠ Ġinputs . forEach Ġ{ Ġinput Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . add Input ( input . name , Ġinput . type , Ġinput . description ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }