Mercury-IM/persistence/README.md
2019-06-10 02:52:08 +02:00

19 lines
848 B
Markdown

# Abstract Persistence Layer of Mercury
This Android module defines interfaces for a persistence backend.
Ideally this module would at some point be a plain java (non-Android) module to allow for
non-Android implementations. This is currently being blocked by [LiveData](https://developer.android.com/topic/libraries/architecture/livedata)
being an Android library. We could fix this by replacing LiveData with RxJava, but this would
require us to manually handle LifeCycles of ViewModels etc. so for now we stick with LiveData.
## Packages
### `model` package
Contains interfaces that define the structure of data classes.
### `repository` package
Repositories build a user-friendly interface to query and modify data in the backend.
## Implementations
Currently the module is only being implemented by the `persistence-room` Android module.