FullReadKeyValueCacheRepo

Constructors

Link copied to clipboard
constructor(parentRepo: ReadKeyValueRepo<Key, Value>, kvCache: KeyValueRepo<Key, Value>, locker: SmartRWLocker = SmartRWLocker())

Functions

Link copied to clipboard

Wraps this ReadKeyValueRepo as a ReadCRUDFromKeyValueRepo, exposing CRUD read operations.

Link copied to clipboard

Wraps this ReadKeyValueRepo (mapping keys to iterables) as a ReadKeyValuesFromKeyValueRepo, exposing a one-to-many read interface.

Link copied to clipboard
Link copied to clipboard
open suspend override fun contains(key: Key): Boolean
Link copied to clipboard
open suspend override fun count(): Long
Link copied to clipboard

Computes the difference between all entries in this ReadKeyValueRepo and the given other map.

Link copied to clipboard
Link copied to clipboard
open suspend override fun get(k: Key): Value?
Link copied to clipboard
open suspend override fun getAll(): Map<Key, Value>

Returns all key-value pairs in the repository as a Map. Default implementation iterates all pages using keys and get.

Link copied to clipboard
open suspend override fun invalidate()

Invalidates its internal data. It may lead to autoreload of data. In case when repo makes autoreload, it must do loading of data before clear

Link copied to clipboard
open suspend override fun keys(pagination: Pagination, reversed: Boolean = false): PaginationResult<Key>

This method should use sorted by Keys search and return the PaginationResult. By default, it should use ascending sort for Keys

open suspend override fun keys(v: Value, pagination: Pagination, reversed: Boolean = false): PaginationResult<Key>

This method should use sorted by Keys search and return the PaginationResult. By default, it should use ascending sort for Keys.

Link copied to clipboard

Creates a pagination starting from the first page with size equal to the total count of items in this ReadKeyValueRepo. This effectively creates a single page containing all items.

Link copied to clipboard
open suspend override fun values(pagination: Pagination, reversed: Boolean = false): PaginationResult<Value>

This method should use sorted by Keys search and return the PaginationResult. By default, it should use ascending sort for Keys

Link copied to clipboard

Wraps this ReadKeyValueRepo with a MapperRepo to expose a mapped ReadKeyValueRepo.

inline fun <FromKey, FromValue, ToKey, ToValue> ReadKeyValueRepo<ToKey, ToValue>.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 }): ReadKeyValueRepo<FromKey, FromValue>

Wraps this ReadKeyValueRepo with inline conversion lambdas to expose a mapped ReadKeyValueRepo.