package Ġru . s uk h are v . my recipes . database Ċ Ċ import Ġandroid . arch . persistence . room . Database Ċ import Ġandroid . arch . persistence . room . Room Ċ import Ġandroid . arch . persistence . room . Room Database Ċ import Ġandroid . content . Context Ċ import Ġru . s uk h are v . my recipes . database . dao . Recipe Dao Ċ import Ġru . s uk h are v . my recipes . pojo . Ingredient Ċ import Ġru . s uk h are v . my recipes . pojo . Recipe Ċ import Ġru . s uk h are v . my recipes . pojo . Recipe Ingredient Ċ import Ġru . s uk h are v . my recipes . utils . Singleton Holder Ċ Ċ /** Ċ Ġ* ĠClass Ġdescribes Ġdatabase , Ġwhich Ġstores Ġall Ġrecipes Ċ Ġ*/ Ċ @ Database ( entities Ġ= Ġ[( Recipe :: class ), Ġ( Recipe Ingredient :: class ), Ġ( Ingredient :: class )], Ġversion Ġ= Ġ 1 ) Ċ abstract Ġclass ĠRecipe Database Ġ: ĠRoom Database () Ġ{ ĊĊĠĠĠ Ġabstract Ġval Ġrecipe Dao : ĠRecipe Dao ĊĊĠĠĠ Ġcompanion Ġobject Ġ: ĠSingleton Holder < Recipe Database , ĠContext >({ ĊĠĠĠĠĠĠĠ ĠRoom . database Builder ( it . application Context , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRecipe Database :: class . java , Ġ ĠRecipe Database . DATABASE _ NAME ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠ Ġ}) Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠDATABASE _ NAME Ġ= Ġ" Recipe Database " ĊĠĠĠ Ġ} Ċ } Ċ