package Ġio . h azel net . community . data . discord Ċ Ċ import Ġcom . fasterxml . jackson . annotation . Json Creator Ċ import Ġcom . fasterxml . jackson . databind . annotation . Json Serialize Ċ import Ġcom . fasterxml . jackson . databind . ser . std . ToString Serializer Ċ import Ġorg . springframework . lang . NonNull Ċ import Ġjavax . persistence .* Ċ import Ġjavax . validation . constraints . Min Ċ import Ġjavax . validation . constraints . Size Ċ Ċ @ Entity Ċ @ Table ( name Ġ= Ġ" discord _ spo _ roles ") Ċ class ĠDeleg ator Role Ġ@ Json Creator Ġconstructor ( ĊĠĠĠĠĠĠĠ Ġ@ Id ĊĠĠĠĠĠĠĠ Ġ@ GeneratedValue ( strategy Ġ= ĠGeneration Type . IDENTITY ) ĊĠĠĠĠĠĠĠ Ġ@ Column ( name Ġ=" discord _ spo _ role _ id ") ĊĠĠĠĠĠĠĠ Ġvar Ġid : ĠLong ?, ĊĊĠĠĠĠĠĠĠ Ġ@ Column ( name Ġ= Ġ" stake pool _ hash ") ĊĠĠĠĠĠĠĠ Ġ@ field : Size ( min Ġ= Ġ 5 6 , Ġmax Ġ= Ġ 5 6 ) ĊĠĠĠĠĠĠĠ Ġvar Ġpool Hash : ĠString ?, ĊĊĠĠĠĠĠĠĠ Ġ@ Column ( name Ġ= Ġ" minimum _ stake ") ĊĠĠĠĠĠĠĠ Ġ@ field : NonNull ĊĠĠĠĠĠĠĠ Ġ@ field : Min ( 0 ) ĊĠĠĠĠĠĠĠ Ġ@ field : Json Serialize ( using Ġ= ĠToString Serializer :: class ) ĊĠĠĠĠĠĠĠ Ġvar Ġminimum Stake : ĠLong , ĊĊĠĠĠĠĠĠĠ Ġ@ Column ( name Ġ= Ġ" discord _ role _ id ") ĊĠĠĠĠĠĠĠ Ġ@ NonNull ĊĠĠĠĠĠĠĠ Ġ@ field : Min ( 1 ) ĊĠĠĠĠĠĠĠ Ġ@ field : Json Serialize ( using Ġ= ĠToString Serializer :: class ) ĊĠĠĠĠĠĠĠ Ġvar Ġrole Id : ĠLong Ċ ) Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġequals ( other : ĠAny ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( this Ġ=== Ġother ) Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġif Ġ( java Class Ġ!= Ġother ?. java Class ) Ġreturn Ġfalse ĊĊĠĠĠĠĠĠĠ Ġother Ġas ĠDeleg ator Role ĊĊĠĠĠĠĠĠĠ Ġif Ġ( id Ġ!= Ġother . id ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( pool Hash Ġ!= Ġother . pool Hash ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( minimum Stake Ġ!= Ġother . minimum Stake ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( role Id Ġ!= Ġother . role Id ) Ġreturn Ġfalse ĊĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠhashCode (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġresult Ġ= Ġid ?. hashCode () Ġ?: Ġ 0 ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġ( pool Hash ?. hashCode () Ġ?: Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġminimum Stake . hashCode () ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġrole Id . hashCode () ĊĠĠĠĠĠĠĠ Ġreturn Ġresult ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ" Deleg ator Role ( id =$ id , Ġpool Hash =$ pool Hash , Ġminimum Stake =$ minimum Stake , Ġrole Id =$ role Id )" ĊĠĠĠ Ġ} Ċ }