# WriteMapCRUDRepo

abstract class WriteMapCRUDRepo < ObjectType , IdType , InputValueType >(map: MutableMap < IdType , ObjectType > = mutableMapOf(), locker: SmartRWLocker = SmartRWLocker()) : WriteCRUDRepo < ObjectType , IdType , InputValueType > (source)

MutableMap-based WriteMapCRUDRepo. All internal operations will be locked with locker (mostly with SmartRWLocker.withWriteLock)

Warning: It is not recommended to use constructor with both MutableMap and SmartRWLocker. Besides, in case you are using your own MutableMap as a map you should be careful with operations on this map

#### Inheritors

MapCRUDRepo

## Constructors

WriteMapCRUDRepo
Link copied to clipboard
constructor(map: MutableMap < IdType , ObjectType > = mutableMapOf(), locker: SmartRWLocker = SmartRWLocker())

## Properties

deletedObjectsIdsFlow
Link copied to clipboard
open override val deletedObjectsIdsFlow : Flow< IdType >
newObjectsFlow
Link copied to clipboard
open override val newObjectsFlow : Flow< ObjectType >
onDeletedObjectsIds
Link copied to clipboard
val < IdType > WriteCRUDRepo <*, IdType , *>. onDeletedObjectsIds : Flow< IdType >

Just mirroring WriteCRUDRepo.deletedObjectsIdsFlow to be same as in KV repos

onNewObjects
Link copied to clipboard
val < ObjectType > WriteCRUDRepo < ObjectType , *, *>. onNewObjects : Flow< ObjectType >

Just mirroring WriteCRUDRepo.newObjectsFlow to be same as in KV repos

onUpdatedObjects
Link copied to clipboard
val < ObjectType > WriteCRUDRepo < ObjectType , *, *>. onUpdatedObjects : Flow< ObjectType >

Just mirroring WriteCRUDRepo.updatedObjectsFlow to be same as in KV repos

updatedObjectsFlow
Link copied to clipboard
open override val updatedObjectsFlow : Flow< ObjectType >

## Functions

caching
Link copied to clipboard
fun < ObjectType , IdType , InputType > WriteCRUDRepo < ObjectType , IdType , InputType >. caching (kvCache: KVCache < IdType , ObjectType >, scope: CoroutineScope, locker: SmartRWLocker = SmartRWLocker(), idGetter: ( ObjectType ) -> IdType ): WriteCRUDCacheRepo < ObjectType , IdType , InputType >
create
Link copied to clipboard
open suspend override fun create (values: List < InputValueType >): List < ObjectType >
create
Link copied to clipboard
suspend fun < ObjectType , IdType , InputValueType > WriteCRUDRepo < ObjectType , IdType , InputValueType >. create (vararg values: InputValueType ): List < ObjectType >
deleteById
Link copied to clipboard
open suspend override fun deleteById (ids: List < IdType >)
deleteById
Link copied to clipboard
suspend fun < ObjectType , IdType , InputValueType > WriteCRUDRepo < ObjectType , IdType , InputValueType >. deleteById (vararg ids: IdType )
update
Link copied to clipboard
open suspend override fun update (values: List < UpdatedValuePair < IdType , InputValueType >>): List < ObjectType >
open suspend override fun update (id: IdType , value: InputValueType ): ObjectType ?
update
Link copied to clipboard
suspend fun < ObjectType , IdType , InputValueType > WriteCRUDRepo < ObjectType , IdType , InputValueType >. update (vararg values: UpdatedValuePair < IdType , InputValueType >): List < ObjectType >
withMapper
Link copied to clipboard
inline fun < FromKey , FromValue , FromInput , ToKey , ToValue , ToInput > WriteCRUDRepo < ToValue , ToKey , ToInput >. withMapper (mapper: MapperRepo < FromKey , FromValue , ToKey , ToValue >, simpleSuspendableMapper: SimpleSuspendableMapper < FromInput , ToInput >): WriteCRUDRepo < FromValue , FromKey , FromInput >
inline fun < FromKey , FromValue , FromInput , ToKey , ToValue , ToInput > WriteCRUDRepo < ToValue , ToKey , ToInput >. withMapper (noinline keyFromToTo: suspend FromKey .() -> ToKey = { this as ToKey }, noinline valueFromToTo: suspend FromValue .() -> ToValue = { this as ToValue }, noinline inputFromToTo: suspend FromInput .() -> ToInput = { this as ToInput }, noinline keyToToFrom: suspend ToKey .() -> FromKey = { this as FromKey }, noinline valueToToFrom: suspend ToValue .() -> FromValue = { this as FromValue }, noinline inputToToFrom: suspend ToInput .() -> FromInput = { this as FromInput }): WriteCRUDRepo < FromValue , FromKey , FromInput >