Read Map CRUDRepo
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
Functions
Link copied to clipboard
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> ReadCRUDRepo<ObjectType, IdType>.cached(kvCache: KeyValueRepo<IdType, ObjectType>, locker: SmartRWLocker = SmartRWLocker(), idGetter: (ObjectType) -> IdType): FullReadCRUDCacheRepo<ObjectType, IdType>
Link copied to clipboard
suspend fun <Id, Registered> ReadCRUDRepo<Registered, Id>.diff(other: Map<Id, Registered>): MapDiff<Id, Registered>
Link copied to clipboard
fun <ObjectType, IdType> ReadCRUDRepo<ObjectType, IdType>.directlyCached(kvCache: KeyValueRepo<IdType, ObjectType>, locker: SmartRWLocker = SmartRWLocker(), idGetter: (ObjectType) -> IdType): DirectFullReadCRUDCacheRepo<ObjectType, IdType>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
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, 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>