.. | ||
schemas/org.mercury_im.messenger.persistence.room.AppDatabase | ||
src | ||
.gitignore | ||
build.gradle | ||
proguard-rules.pro | ||
README.md |
Room Persistence Layer of Mercury
This Android Module contains an implementation of the interfaces of the persistence
module.
In particular it defines SQL schemes and provides DAOs as well as implementations of Model classes
and Repositories that utilize the Room Database Framework.
Packages and Classes
AppDatabase
defines what makes up the database itself. It lists all available entities and provides dao classes.
dao
package
Contains data access objects (DAOs) which provide CRUD methods (Create, Read, Update, Delete) for all the models.
Note, that the BaseDao
interface already defines methods for creating, updating and deleting
entities and is extended by most DAO classes.
model
package
Contains classes that represent the data itself in form of models.
repository
package
Contains implementations of data repositories. Repositories are single sources of truth and provide a user-friendly separation layer between the application and the DAOs.
Ideally this layer would also provide access to the XMPP domain, but this is still subject to discussion.
type_converter
package
Contains Room specific type converter that convert non-basic data types into basic data types which can be handled by the database and vice versa.