CRUD operations are operations for creating, updating, selecting, or removing data. They are defined with an interface called Crud and it will be generic. Create a new interface in the database package. Make sure it covers all CRUD operations:
interface Crud<T> where T : DbModel {
companion object {
val BROADCAST_ACTION = "com.journaler.broadcast.crud"
val BROADCAST_EXTRAS_KEY_CRUD_OPERATION_RESULT = "crud_result"
}
/**
* Returns the ID of inserted item.
*/
fun insert(what: T): Long
/**
* Returns the list of inserted IDs.
*/
fun insert(what: Collection<T>): List<Long>
/**
* Returns the number of updated items.
*/
fun update(what: T): Int
/**
* Returns the number of updated items...