package Ġcom . iz et tle . w rench . database Ċ Ċ import Ġandroid . text . TextUtils Ċ import Ġandroidx . room .* Ċ import Ġandroidx . room . ForeignKey . CASCADE Ċ import Ġcom . iz et tle . w rench . database . tables . Application Table Ċ import Ġcom . iz et tle . w rench . database . tables . Scope Table Ċ import Ġjava . util .* Ċ Ċ @ Entity ( tableName Ġ= ĠScope Table . TABLE _ NAME , ĊĠĠĠĠĠĠĠ Ġindices Ġ= Ġ[ Index ( value Ġ= ĠarrayOf ( Scope Table . COL _ APP _ ID , ĠScope Table . COL _ NAME ), Ġunique Ġ= Ġtrue )], ĊĠĠĠĠĠĠĠ Ġforeign Keys Ġ= Ġ[ ForeignKey ( entity Ġ= ĠW rench Application :: class , Ġparent Columns Ġ= ĠarrayOf ( Application Table . COL _ ID ), Ġchild Columns Ġ= ĠarrayOf ( Scope Table . COL _ APP _ ID ), ĠonDelete Ġ= ĠCASCADE )]) Ċ data Ġclass ĠW rench Scope Ġconstructor ( ĊĠĠĠĠĠĠĠ Ġ@ PrimaryKey ( auto Generate Ġ= Ġtrue ) ĊĠĠĠĠĠĠĠ Ġ@ Column Info ( name Ġ= ĠScope Table . COL _ ID ) ĊĠĠĠĠĠĠĠ Ġvar Ġid : ĠLong Ġ= Ġ 0 , ĊĊĠĠĠĠĠĠĠ Ġ@ Column Info ( name Ġ= ĠScope Table . COL _ APP _ ID ) ĊĠĠĠĠĠĠĠ Ġvar Ġapplication Id : ĠLong Ġ= Ġ 0 , ĊĊĠĠĠĠĠĠĠ Ġ@ Column Info ( name Ġ= ĠScope Table . COL _ NAME ) ĊĠĠĠĠĠĠĠ Ġvar Ġname : ĠString Ġ= ĠSCO PE _ DEFAULT , ĊĊĠĠĠĠĠĠĠ Ġ@ Column Info ( name Ġ= ĠScope Table . COL _ SELECTED _ TIMESTAMP ) ĊĠĠĠĠĠĠĠ Ġvar Ġtime Stamp : ĠDate Ġ= ĠDate () Ċ ) Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġconst Ġval ĠSCO PE _ DEFAULT Ġ= Ġ" w rench _ default " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠSCO PE _ USER Ġ= Ġ" Development Ġscope " ĊĊĠĠĠĠĠĠĠ Ġfun Ġis Default Scope ( scope : ĠW rench Scope ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠText Utils . equals ( W rench Scope . SCOPE _ DEFAULT , Ġscope . name ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ