ReadMapCRUDRepo

class ReadMapCRUDRepo<ObjectType, IdType>(map: Map<IdType, ObjectType> = emptyMap(), locker: SmartRWLocker = SmartRWLocker()) : ReadCRUDRepo<ObjectType, IdType> (source)

Map-based ReadMapCRUDRepo. All internal operations will be locked with locker (mostly with SmartRWLocker.withReadAcquire)

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

Constructors

Link copied to clipboard
constructor(map: Map<IdType, ObjectType> = emptyMap(), locker: SmartRWLocker = SmartRWLocker())

Functions

Link copied to clipboard
Link copied to clipboard
open suspend override fun contains(id: IdType): Boolean
Link copied to clipboard
open suspend override fun count(): Long
Link copied to clipboard
Link copied to clipboard
open suspend override fun getAll(): Map<IdType, ObjectType>
Link copied to clipboard
open suspend override fun getById(id: IdType): ObjectType?
Link copied to clipboard
open suspend override fun getByPagination(pagination: Pagination): PaginationResult<ObjectType>
Link copied to clipboard
open suspend override fun getIdsByPagination(pagination: Pagination): PaginationResult<IdType>
Link copied to clipboard
inline suspend fun ReadCRUDRepo<*, *>.maxPagePagination(): SimplePagination
Link copied to clipboard
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>