package Ġio . github . bk mio a . nex usr ss . model Ċ Ċ import Ġandroidx . room . Entity Ċ import Ġandroidx . room . PrimaryKey Ċ import Ġandroid . os . Parcelable Ċ import Ġkotlinx . android . parcel . Parcel ize Ċ import Ġjava . util .* Ċ Ċ @ Entity ( tableName Ġ= Ġ" tab ") Ċ @ Parcel ize Ċ data Ġclass ĠTab ( ĊĠĠĠĠĠĠĠ Ġvar Ġtitle : ĠString , ĊĠĠĠĠĠĠĠ Ġvar Ġoptions : ĠArray < String >, ĊĠĠĠĠĠĠĠ Ġvar Ġorder : ĠInt Ġ= Ġ 0 , ĊĠĠĠĠĠĠĠ Ġvar Ġis Show : ĠBoolean Ġ= Ġtrue , ĊĠĠĠĠĠĠĠ Ġvar Ġcolumn Count : ĠInt Ġ= Ġ 1 , ĊĠĠĠĠĠĠĠ Ġ@ PrimaryKey ( auto Generate Ġ= Ġtrue ) ĊĠĠĠĠĠĠĠ Ġvar Ġid : ĠLong ? Ġ= Ġnull ) Ġ: ĠParcel able , ĠComparable < Tab > Ġ{ ĊĊĊĠĠĠ Ġoverride Ġfun Ġcompare To ( other : ĠTab ) Ġ= Ġthis . order . compareTo ( other . order ) ĊĊĊĠĠĠ Ġoverride Ġfun Ġequals ( other : ĠAny ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( this Ġ=== Ġother ) Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġif Ġ( java Class Ġ!= Ġother ?. java Class ) Ġreturn Ġfalse ĊĊĠĠĠĠĠĠĠ Ġother Ġas ĠTab ĊĊĠĠĠĠĠĠĠ Ġif Ġ( id Ġ!= Ġother . id ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( title Ġ!= Ġother . title ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( column Count Ġ!= Ġother . column Count ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ(! Arrays . equals ( options , Ġother . options )) Ġreturn Ġfalse ĊĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠhashCode (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġresult Ġ= Ġtitle . hashCode () ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ ĠArrays . hashCode ( options ) ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġ( id ?. hashCode () Ġ?: Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġcolumn Count . hashCode () ĊĠĠĠĠĠĠĠ Ġreturn Ġresult ĊĠĠĠ Ġ} Ċ Ċ } ĊĊ