Package-level declarations

Types

Link copied to clipboard
class DataDescription<T : Any, I>(val type: KType, val klass: KClass<T>, val indexField: IndexField<T, I>, val links: List<DataLink<T, Any, Any?>> = listOf())

A description of the data to be stored in a cache.

Link copied to clipboard
class DataLink<S : Any, T : Any, I>(val source: KProperty1<S, I>, val target: KType, val linkedField: KProperty1<T, I>)

An instance that links a Property I of class S to class T. When S is removed from the cache all T with an I pof the same value will also be removed.

Link copied to clipboard
class IndexField<T, R>(val property: KProperty1<T, R>)

The field on which a Cache can index values, this property is assumed to be unique for different entries.

Link copied to clipboard
class LinkBuilder<S : Any>(links: MutableList<DataLink<S, Any, Any?>> = mutableListOf())

Functions

Link copied to clipboard
inline fun <T : Any, I> description(index: KProperty1<T, I>, builder: LinkBuilder<T>.() -> Unit = {}): DataDescription<T, I>