# MapperCRUDRepo

open class MapperCRUDRepo < FromId , FromRegistered , FromInput , ToId , ToRegistered , ToInput >(to: CRUDRepo < ToRegistered , ToId , ToInput >, mapper: MapperRepo < FromId , FromRegistered , ToId , ToRegistered >, inputMapper: SimpleSuspendableMapper < FromInput , ToInput >) : CRUDRepo < FromRegistered , FromId , FromInput > , MapperRepo < FromId , FromRegistered , ToId , ToRegistered > , ReadCRUDRepo < FromRegistered , FromId > , WriteCRUDRepo < FromRegistered , FromId , FromInput > (source)

## Constructors

MapperCRUDRepo
Link copied to clipboard
constructor(to: CRUDRepo < ToRegistered , ToId , ToInput >, mapper: MapperRepo < FromId , FromRegistered , ToId , ToRegistered >, inputMapper: SimpleSuspendableMapper < FromInput , ToInput >)

## Properties

deletedObjectsIdsFlow
Link copied to clipboard
open override val deletedObjectsIdsFlow : Flow< FromId >
keyMapper
Link copied to clipboard
open override val keyMapper : SimpleSuspendableMapper < FromId , ToId >
newObjectsFlow
Link copied to clipboard
open override val newObjectsFlow : Flow< FromRegistered >
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< FromRegistered >
valueMapper
Link copied to clipboard
open override val valueMapper : SimpleSuspendableMapper < FromRegistered , ToRegistered >

## Functions

asReadKeyValueRepo
Link copied to clipboard
fun < K , V > ReadCRUDRepo < K , V >. asReadKeyValueRepo (): ReadKeyValueFromCRUDRepo < V , K >
cached
Link copied to clipboard
fun < ObjectType , IdType > ReadCRUDRepo < ObjectType , IdType >. cached (kvCache: KVCache < IdType , ObjectType >, locker: SmartRWLocker = SmartRWLocker(), idGetter: ( ObjectType ) -> IdType ): ReadCRUDCacheRepo < ObjectType , IdType >
fun < ObjectType , IdType , InputType > CRUDRepo < ObjectType , IdType , InputType >. cached (kvCache: KVCache < IdType , ObjectType >, scope: CoroutineScope, locker: SmartRWLocker = SmartRWLocker(), idGetter: ( ObjectType ) -> IdType ): CRUDCacheRepo < ObjectType , IdType , InputType >
fun < ObjectType , IdType > ReadCRUDRepo < ObjectType , IdType >. cached (kvCache: KeyValueRepo < IdType , ObjectType >, locker: SmartRWLocker = SmartRWLocker(), idGetter: ( ObjectType ) -> IdType ): FullReadCRUDCacheRepo < ObjectType , IdType >
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 >
contains
Link copied to clipboard
open suspend override fun contains (id: FromId ): Boolean
count
Link copied to clipboard
open suspend override fun count (): Long
create
Link copied to clipboard
open suspend override fun create (values: List < FromInput >): List < FromRegistered >
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 < FromId >)
deleteById
Link copied to clipboard
suspend fun < ObjectType , IdType , InputValueType > WriteCRUDRepo < ObjectType , IdType , InputValueType >. deleteById (vararg ids: IdType )
diff
Link copied to clipboard
suspend fun < Id , Registered > ReadCRUDRepo < Registered , Id >. diff (other: Map < Id , Registered >): MapDiff < Id , Registered >
directFullyCached
Link copied to clipboard
fun < ObjectType , IdType , InputType > CRUDRepo < ObjectType , IdType , InputType >. directFullyCached (kvCache: KeyValueRepo < IdType , ObjectType > = MapKeyValueRepo(), scope: CoroutineScope = CoroutineScope(Dispatchers.Default), skipStartInvalidate: Boolean = false, locker: SmartRWLocker = SmartRWLocker(), idGetter: ( ObjectType ) -> IdType ): DirectFullCRUDCacheRepo < ObjectType , IdType , InputType >
directlyCached
Link copied to clipboard
fun < ObjectType , IdType > ReadCRUDRepo < ObjectType , IdType >. directlyCached (kvCache: KeyValueRepo < IdType , ObjectType >, locker: SmartRWLocker = SmartRWLocker(), idGetter: ( ObjectType ) -> IdType ): DirectFullReadCRUDCacheRepo < ObjectType , IdType >
fullyCached
Link copied to clipboard
fun < ObjectType , IdType , InputType > CRUDRepo < ObjectType , IdType , InputType >. fullyCached (kvCache: KeyValueRepo < IdType , ObjectType > = MapKeyValueRepo(), scope: CoroutineScope = CoroutineScope(Dispatchers.Default), skipStartInvalidate: Boolean = false, locker: SmartRWLocker = SmartRWLocker(), idGetter: ( ObjectType ) -> IdType ): FullCRUDCacheRepo < ObjectType , IdType , InputType >
getAll
Link copied to clipboard
open suspend override fun getAll (): Map < FromId , FromRegistered >
getById
Link copied to clipboard
open suspend override fun getById (id: FromId ): FromRegistered ?
getByPagination
Link copied to clipboard
open suspend override fun getByPagination (pagination: Pagination ): PaginationResult < FromRegistered >
getIdsByPagination
Link copied to clipboard
open suspend override fun getIdsByPagination (pagination: Pagination ): PaginationResult < FromId >
maxPagePagination
Link copied to clipboard
inline suspend fun ReadCRUDRepo <*, *>. maxPagePagination (): SimplePagination
toInnerKey
Link copied to clipboard
open suspend override fun ToId . toInnerKey (): FromId
toInnerValue
Link copied to clipboard
open suspend override fun ToRegistered . toInnerValue (): FromRegistered
toOutKey
Link copied to clipboard
open suspend override fun FromId . toOutKey (): ToId
toOutValue
Link copied to clipboard
open suspend override fun FromRegistered . toOutValue (): ToRegistered
update
Link copied to clipboard
open suspend override fun update (values: List < UpdatedValuePair < FromId , FromInput >>): List < FromRegistered >
open suspend override fun update (id: FromId , value: FromInput ): FromRegistered ?
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 , ToKey , ToValue > ReadCRUDRepo < ToValue , ToKey >. withMapper (mapper: MapperRepo < FromKey , FromValue , ToKey , ToValue >): ReadCRUDRepo < FromValue , FromKey >
inline fun < FromKey , FromValue , FromInput , ToKey , ToValue , ToInput > CRUDRepo < ToValue , ToKey , ToInput >. withMapper (mapper: MapperRepo < FromKey , FromValue , ToKey , ToValue >, simpleSuspendableMapper: SimpleSuspendableMapper < FromInput , ToInput >): CRUDRepo < FromValue , FromKey , FromInput >
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 , ToKey , ToValue > ReadCRUDRepo < ToValue , ToKey >. withMapper (noinline keyFromToTo: suspend FromKey .() -> ToKey = { this as ToKey }, noinline valueFromToTo: suspend FromValue .() -> ToValue = { this as ToValue }, noinline keyToToFrom: suspend ToKey .() -> FromKey = { this as FromKey }, noinline valueToToFrom: suspend ToValue .() -> FromValue = { this as FromValue }): ReadCRUDRepo < FromValue , FromKey >
inline fun < FromKey , FromValue , FromInput , ToKey , ToValue , ToInput > CRUDRepo < 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 }): CRUDRepo < 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 >