package Ġmachine head . model Ċ Ċ import Ġmachine head . servers . Stage Ċ Ċ fun Ġpayload ( block : ĠPayload Builder . () Ġ-> ĠUnit ): ĠPayload Ġ= ĠPayload Builder (). apply ( block ). build () Ċ Ċ class ĠPayload Builder Ġ{ ĊĠĠĠ Ġvar Ġnotification : ĠNotification ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġcustom Ġ= Ġhash Map Of < String , ĠAny >() ĊĠĠĠ Ġvar Ġtokens Ġ= ĠlistOf < String >() ĊĠĠĠ Ġvar Ġstage Ġ= ĠStage . DE VELO P MENT ĊĠĠĠ Ġvar Ġheaders Ġ= Ġhash Map Of < String , ĠAny >() ĊĊĠĠĠ Ġfun Ġnotification ( block : ĠNotification Builder . () Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠ Ġnotification Ġ= ĠNotification Builder (). apply ( block ). build () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġbuild (): ĠPayload Ġ= ĠPayload ( stage , Ġtokens , Ġheaders , Ġnotification , Ġcustom ) Ċ } Ċ Ċ class ĠNotification Builder Ġ{ ĊĠĠĠ Ġvar Ġa ps : ĠA ps ? Ġ= Ġnull ĊĊĠĠĠ Ġfun Ġa ps ( block : ĠA ps Builder . () Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠ Ġa ps Ġ= ĠA ps Builder (). apply ( block ). build () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġbuild (): ĠNotification Ġ= ĠNotification ( aps ) Ċ } Ċ Ċ class ĠA ps Builder Ġ{ ĊĊĠĠĠ Ġvar Ġalert : ĠAlert ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġsound : ĠString ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġbadge : ĠInt ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġcategory : ĠString ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġthread _ id : ĠString ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġmutable _ content : ĠInt ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġcontent _ available : ĠInt ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġtarget _ content _ id : ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġfun Ġalert ( block : ĠAlert Builder . () Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠ Ġalert Ġ= ĠAlert Builder (). apply ( block ). build () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġbuild (): ĠA ps Ġ= ĊĠĠĠĠĠĠĠ ĠA ps ( alert , Ġsound , Ġbadge , Ġcategory , Ġthread _ id , Ġmutable _ content , Ġcontent _ available , Ġtarget _ content _ id ) Ċ } Ċ Ċ class ĠAlert Builder Ġ{ ĊĠĠĠ Ġvar Ġbody : ĠString ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġtitle : ĠString ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġsubtitle : ĠString ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġloc _ key : ĠString ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġlaunch _ image : ĠString ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġtitle _ loc _ key : ĠString ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġsubtitle _ loc _ key : ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġfun Ġbuild (): ĠAlert Ġ= ĠAlert ( body , Ġtitle , Ġsubtitle , Ġloc _ key , Ġlaunch _ image , Ġtitle _ loc _ key , Ġsubtitle _ loc _ key ) Ċ } ĊĊ