package Ġbr . com . ot 6 . shared . clients . bcb . d tos čĊč Ċ import Ġbr . com . ot 6 . Account Type č Ċ import Ġbr . com . ot 6 . pix . Account č Ċ import Ġbr . com . ot 6 . pix . Pix Key č Ċ import Ġbr . com . ot 6 . pix . Pix KeyType čĊč Ċ data Ġclass ĠSave Pix Key Request ( čĊĠĠĠ Ġval Ġkey Type : ĠP ix KeyType , čĊĠĠĠ Ġval Ġkey : ĠString , čĊĠĠĠ Ġval Ġbank Account : ĠBank Account Request , čĊĠĠĠ Ġval Ġowner : ĠOwner Request č Ċ ) Ġ{ čĊĠĠĠ Ġcompanion Ġobject Ġ{ čĊčĊĠĠĠĠĠĠĠ Ġfun Ġfrom ( pix Key : ĠP ix Key ): ĠSave Pix Key Request Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġaccount Type Ġ= čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Account Type . CONT A _ COR REN TE . equals ( pix Key . account Type )) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠClient Account Type . C ACC čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠClient Account Type . SV GS čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠSave Pix Key Request ( čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġkey Type Ġ= Ġpix Key . type , čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġkey Ġ= Ġpix Key . key , čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbank Account Ġ= ĠBank Account Request ( čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparticipant Ġ= ĠAccount . IT AU _ UN IB AN CO _ IS PB , čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbranch Ġ= Ġpix Key . account . agency , čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaccount Number Ġ= Ġpix Key . account . number , čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaccount Type čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġowner Ġ= ĠOwner Request ( čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtype Ġ= ĠOwner Request . Owner Type . NAT UR AL _ PERSON , čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġpix Key . account . owner Name , čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtax Id Number Ġ= Ġpix Key . account . owner C pf čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġoverride Ġfun Ġequals ( other : ĠAny ?): ĠBoolean Ġ{ čĊĠĠĠĠĠĠĠ Ġif Ġ( this Ġ=== Ġother ) Ġreturn Ġtrue čĊĠĠĠĠĠĠĠ Ġif Ġ( java Class Ġ!= Ġother ?. java Class ) Ġreturn Ġfalse čĊčĊĠĠĠĠĠĠĠ Ġother Ġas ĠSave Pix Key Request čĊčĊĠĠĠĠĠĠĠ Ġif Ġ( key Type Ġ!= Ġother . key Type ) Ġreturn Ġfalse čĊĠĠĠĠĠĠĠ Ġif Ġ( key Ġ!= Ġother . key ) Ġreturn Ġfalse čĊĠĠĠĠĠĠĠ Ġif Ġ( bank Account Ġ!= Ġother . bank Account ) Ġreturn Ġfalse čĊĠĠĠĠĠĠĠ Ġif Ġ( owner Ġ!= Ġother . owner ) Ġreturn Ġfalse čĊčĊĠĠĠĠĠĠĠ Ġreturn Ġtrue čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġoverride Ġfun ĠhashCode (): ĠInt Ġ{ čĊĠĠĠĠĠĠĠ Ġvar Ġresult Ġ= Ġkey Type . hashCode () čĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġkey . hashCode () čĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġbank Account . hashCode () čĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġowner . hashCode () čĊĠĠĠĠĠĠĠ Ġreturn Ġresult čĊĠĠĠ Ġ} č Ċ } čĊč Ċ data Ġclass ĠBank Account Request ( čĊĠĠĠ Ġval Ġparticipant : ĠString , čĊĠĠĠ Ġval Ġbranch : ĠString , čĊĠĠĠ Ġval Ġaccount Number : ĠString , čĊĠĠĠ Ġval Ġaccount Type : ĠClient Account Type č Ċ ) čĊč Ċ data Ġclass ĠOwner Request ( čĊĠĠĠ Ġval Ġtype : ĠOwner Type , čĊĠĠĠ Ġval Ġname : ĠString , čĊĠĠĠ Ġval Ġtax Id Number : ĠString č Ċ ) Ġ{ čĊčĊĠĠĠ Ġenum Ġclass ĠOwner Type Ġ{ čĊĠĠĠĠĠĠĠ ĠN ATUR AL _ PERSON , čĊĠĠĠĠĠĠĠ ĠLE G AL _ PERSON čĊĠĠĠ Ġ} č Ċ } čĊ