package Ġcom . e udy contr eras . bow ling calculator . pers istance . entities Ċ Ċ import Ġandroidx . room . Entity Ċ import Ġandroidx . room . Index Ċ import Ġcom . e udy contr eras . bow ling calculator . calculator . elements . Frame Ċ import Ġcom . e udy contr eras . bow ling calculator . calculator . elements . Roll Ċ Ċ /** Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 1 9 ĠB ow ling ĠScore ĠCalculator ĠProject Ċ Ġ* ĠLicensed Ġunder Ġthe ĠMIT Ġlicense . Ċ Ġ* Ċ Ġ* Ġ@ Project ĠB ow ling Calculator Ċ Ġ* Ġ@ author ĠE udy ĠContr eras . Ċ Ġ* Ġ@ since ĠJanuary Ġ 2 0 1 9 Ċ Ġ*/ Ċ Ċ @ Entity ( ĊĠĠĠ ĠtableName Ġ= Ġ" Rol ls ", ĊĠĠĠ Ġindices Ġ= Ġ[( Index ( Ġ" bow ler Id ", Ġ" frame Index ", Ġ" parent State ")) ], ĊĠĠĠ Ġprimary Keys Ġ= Ġ[" bow ler Id ", Ġ" frame Index ", Ġ" parent State "] Ċ ) Ċ data Ġclass ĠRoll Entity ( ĊĠĠĠ Ġval Ġb ow ler Id : ĠLong , ĊĠĠĠ Ġval Ġframe Index : ĠInt , ĊĠĠĠ Ġval Ġparent State : ĠFrame . State , ĊĠĠĠ Ġval Ġtotal Kn ock down : ĠInt , ĊĠĠĠ Ġval Ġresult : ĠRoll . Result Ċ ) Ġ{ ĊĠĠĠ Ġfun Ġto Roll (): ĠRoll Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠRoll ( bow ler Id , Ġtotal Kn ock down ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult Ġ= Ġthis @ Roll Entity . result ĊĠĠĠĠĠĠĠĠĠĠĠ Ġframe Index Ġ= Ġthis @ Roll Entity . frame Index ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparent State Ġ= Ġthis @ Roll Entity . parent State ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġfun Ġfrom ( roll : ĠRoll ): ĠRoll Entity Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠRoll Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġb ow ler Id Ġ= Ġroll . bow ler Id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġframe Index Ġ= Ġroll . frame Index , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparent State Ġ= Ġroll . parent State , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtotal Kn ock down Ġ= Ġroll . total Kn ock down , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult Ġ= Ġroll . result ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }