Auto Recache Read CRUDRepo
open class AutoRecacheReadCRUDRepo<RegisteredObject, Id>(originalRepo: ReadCRUDRepo<RegisteredObject, Id>, scope: CoroutineScope, kvCache: KeyValueRepo<Id, RegisteredObject> = MapKeyValueRepo(), recacheDelay: Long = 60.seconds.inWholeMilliseconds, actionWrapper: ActionWrapper = ActionWrapper.Direct, idGetter: (RegisteredObject) -> Id) : ReadCRUDRepo<RegisteredObject, Id> , FallbackCacheRepo
Inheritors
Constructors
Link copied to clipboard
constructor(originalRepo: ReadCRUDRepo<RegisteredObject, Id>, scope: CoroutineScope, originalCallTimeoutMillis: Long, kvCache: KeyValueRepo<Id, RegisteredObject> = MapKeyValueRepo(), recacheDelay: Long = 60.seconds.inWholeMilliseconds, idGetter: (RegisteredObject) -> Id)
constructor(originalRepo: ReadCRUDRepo<RegisteredObject, Id>, scope: CoroutineScope, kvCache: KeyValueRepo<Id, RegisteredObject> = MapKeyValueRepo(), recacheDelay: Long = 60.seconds.inWholeMilliseconds, actionWrapper: ActionWrapper = ActionWrapper.Direct, idGetter: (RegisteredObject) -> Id)
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
Link copied to clipboard
Link copied to clipboard
open suspend override fun getByPagination(pagination: Pagination): PaginationResult<RegisteredObject>
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>