Skip to content

//misk-hibernate/misk.hibernate.pagination

Package-level declarations

Types

Name Summary
Offset [jvm]
data class Offset(val offset: String)
Offset into a query. Typically this is a string-encoded ID like 5, or a composite containing a date followed by an ID, like "2019-08-16T:10:26:51Z/5".
Page [jvm]
data class Page<T>(val contents: List<T>, val nextOffset: Offset?)
Pager [jvm]
interface Pager<T>
Paginator [jvm]
interface Paginator<T, in Q : Query<T>>
Breaks a query into pages. Each page break is delimited by a string that is the offset of the last row of the preceding page.

Functions

Name Summary
idAscPaginator [jvm]
fun <T : DbEntity<T>> idAscPaginator(idPath: String = "id"): Paginator<T, Query<T>>
Pages through entities by ascending ID.
idDescPaginator [jvm]
fun <T : DbEntity<T>> idDescPaginator(idPath: String = "id"): Paginator<T, Query<T>>
Pages through entities by descending ID.
listAll [jvm]
fun <T : DbEntity<T>, R> Pager<T>.listAll(transacter: Transacter, transform: (T) -> R): List<R>
newPager [jvm]
fun <T : DbEntity<T>, Q : Query<T>> Q.newPager(paginator: Paginator<T, Q>, initialOffset: Offset? = null, pageSize: Int = 100): Pager<T>
Use a null initialOffset to start at the beginning.