Package-level declarations
Types
Link copied to clipboard
Any inheritor of this should work with next logic: try to take data from some dev.inmo.micro_utils.repos.cache.cache.KVCache and, if not exists, take from origin and save to the cache for future reuse
Link copied to clipboard
open class CRUDCacheRepo<ObjectType, IdType, InputValueType>(parentRepo: CRUDRepo<ObjectType, IdType, InputValueType>, kvCache: KVCache<IdType, ObjectType>, scope: CoroutineScope = CoroutineScope(Dispatchers.Default), idGetter: (ObjectType) -> IdType) : ReadCRUDCacheRepo<ObjectType, IdType> , WriteCRUDRepo<ObjectType, IdType, InputValueType> , CRUDRepo<ObjectType, IdType, InputValueType>
Link copied to clipboard
Any inheritor of this should work with next logic: try to take data from their original repo, if successful - save data to internal dev.inmo.micro_utils.repos.cache.cache.FullKVCache or try to take data from that internal cache
Link copied to clipboard
open class KeyValueCacheRepo<Key, Value>(parentRepo: KeyValueRepo<Key, Value>, kvCache: KVCache<Key, Value>, scope: CoroutineScope = CoroutineScope(Dispatchers.Default)) : ReadKeyValueCacheRepo<Key, Value> , KeyValueRepo<Key, Value> , WriteKeyValueRepo<Key, Value> , CommonCacheRepo
Link copied to clipboard
open class KeyValuesCacheRepo<Key, Value>(parentRepo: KeyValuesRepo<Key, Value>, kvCache: KVCache<Key, List<Value>>, scope: CoroutineScope = CoroutineScope(Dispatchers.Default)) : ReadKeyValuesCacheRepo<Key, Value> , KeyValuesRepo<Key, Value> , WriteKeyValuesRepo<Key, Value> , CommonCacheRepo
Link copied to clipboard
open class ReadCRUDCacheRepo<ObjectType, IdType>(parentRepo: ReadCRUDRepo<ObjectType, IdType>, kvCache: KVCache<IdType, ObjectType>, idGetter: (ObjectType) -> IdType) : ReadCRUDRepo<ObjectType, IdType> , CommonCacheRepo
Link copied to clipboard
open class ReadKeyValueCacheRepo<Key, Value>(parentRepo: ReadKeyValueRepo<Key, Value>, kvCache: KVCache<Key, Value>) : ReadKeyValueRepo<Key, Value> , CommonCacheRepo
Link copied to clipboard
open class ReadKeyValuesCacheRepo<Key, Value>(parentRepo: ReadKeyValuesRepo<Key, Value>, kvCache: KVCache<Key, List<Value>>) : ReadKeyValuesRepo<Key, Value> , CommonCacheRepo
Link copied to clipboard
open class WriteCRUDCacheRepo<ObjectType, IdType, InputValueType>(parentRepo: WriteCRUDRepo<ObjectType, IdType, InputValueType>, kvCache: KVCache<IdType, ObjectType>, scope: CoroutineScope = CoroutineScope(Dispatchers.Default), idGetter: (ObjectType) -> IdType) : WriteCRUDRepo<ObjectType, IdType, InputValueType> , CommonCacheRepo
Functions
Link copied to clipboard
fun <Key, Value> ReadKeyValueRepo<Key, Value>.cached(kvCache: KVCache<Key, Value>): ReadKeyValueCacheRepo<Key, Value>
fun <Key, Value> ReadKeyValuesRepo<Key, Value>.cached(kvCache: KVCache<Key, List<Value>>): ReadKeyValuesCacheRepo<Key, Value>
fun <Key, Value> KeyValueRepo<Key, Value>.cached(kvCache: KVCache<Key, Value>, scope: CoroutineScope = CoroutineScope(Dispatchers.Default)): KeyValueCacheRepo<Key, Value>
fun <Key, Value> KeyValuesRepo<Key, Value>.cached(kvCache: KVCache<Key, List<Value>>, scope: CoroutineScope = CoroutineScope(Dispatchers.Default)): KeyValuesCacheRepo<Key, Value>
fun <ObjectType, IdType> ReadCRUDRepo<ObjectType, IdType>.cached(kvCache: KVCache<IdType, ObjectType>, idGetter: (ObjectType) -> IdType): ReadCRUDCacheRepo<ObjectType, IdType>
fun <ObjectType, IdType, InputType> CRUDRepo<ObjectType, IdType, InputType>.cached(kvCache: KVCache<IdType, ObjectType>, scope: CoroutineScope, idGetter: (ObjectType) -> IdType): CRUDCacheRepo<ObjectType, IdType, InputType>
Link copied to clipboard
fun <ObjectType, IdType, InputType> WriteCRUDRepo<ObjectType, IdType, InputType>.caching(kvCache: KVCache<IdType, ObjectType>, scope: CoroutineScope, idGetter: (ObjectType) -> IdType): WriteCRUDCacheRepo<ObjectType, IdType, InputType>