package Ġcom . sw iss chain . matching . engine . outgoing . messages . v 2 . builders Ċ Ċ import Ġcom . sw iss chain . matching . engine . outgoing . messages . v 2 . enums . MessageType Ċ import Ġcom . sw iss chain . matching . engine . outgoing . messages . v 2 . events . Event Ċ import Ġcom . sw iss chain . matching . engine . outgoing . messages . v 2 . events . common . Header Ċ import Ġjava . util . Date Ċ import Ġcom . sw iss chain . matching . engine . messages . MessageType Ġas ĠIncoming MessageType Ċ Ċ abstract Ġclass ĠEvent Builder < in ĠT EventData Ġ: ĠEvent Data , Ġout ĠTResult Ġ: ĠEvent > Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠVERSION Ġ= Ġ" 1 " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġvar Ġsequence Number : ĠLong ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar ĠmessageId : ĠString ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar ĠrequestId : ĠString ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġdate : ĠDate ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġincoming MessageType : ĠIncoming MessageType ? Ġ= Ġnull ĊĊĠĠĠ Ġprotected Ġabstract Ġfun Ġget MessageType (): ĠMessageType ĊĊĠĠĠ Ġfun Ġset Header Data ( sequence Number : ĠLong , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠmessageId : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠrequestId : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdate : ĠDate , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġincoming MessageType : ĠIncoming MessageType ): ĠEvent Builder < T EventData , ĠTResult > Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . sequence Number Ġ= Ġsequence Number ĊĠĠĠĠĠĠĠ Ġthis . message Id Ġ= ĠmessageId ĊĠĠĠĠĠĠĠ Ġthis . requestId Ġ= ĠrequestId ĊĠĠĠĠĠĠĠ Ġthis . date Ġ= Ġdate ĊĠĠĠĠĠĠĠ Ġthis . incoming MessageType Ġ= Ġincoming MessageType ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġabstract Ġfun Ġset EventData ( event Data : ĠT EventData ): ĠEvent Builder < T EventData , ĠTResult > ĊĊĠĠĠ Ġprotected Ġabstract Ġfun Ġbuild Event ( header : ĠHeader ): ĠTResult ĊĊĠĠĠ Ġfun Ġbuild (): ĠTResult Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġheader Ġ= ĠHeader ( getMessage Type (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsequence Number !! , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠmessageId !! , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠrequestId !! , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠVERSION , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdate !! , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġincoming MessageType !!. name ) ĊĠĠĠĠĠĠĠ Ġreturn Ġbuild Event ( header ) ĊĠĠĠ Ġ} Ċ Ċ }