micro_utils.dokka
0.15.1

# PaginationResult

@Serializable
data class PaginationResult<T>(val page: Int, val size: Int, val results: List<T>, val objectsNumber: Long) : Pagination

#### Parameters

page

Current page number

size

Current page size. It can be greater than size of results

results

Result objects

objectsNumber

Count of all objects across all pages

## Constructors

PaginationResult
Link copied to clipboard
fun <T> PaginationResult(page: Int, results: List<T>, pagesNumber: Int, size: Int)
PaginationResult
Link copied to clipboard
fun <T> PaginationResult(page: Int, size: Int, results: List<T>, objectsNumber: Long)

## Functions

contains
Link copied to clipboard
open operator fun contains(value: Int): Boolean
isEmpty
Link copied to clipboard
open fun isEmpty(): Boolean

## Properties

endInclusive
Link copied to clipboard
open override val endInclusive: Int
objectsNumber
Link copied to clipboard
val objectsNumber: Long
page
Link copied to clipboard
open override val page: Int
pagesNumber
Link copied to clipboard
val pagesNumber: Int

Amount of pages for current pagination

results
Link copied to clipboard
val results: List<T>
size
Link copied to clipboard
open override val size: Int
start
Link copied to clipboard
open override val start: Int

## Extensions

asUrlQueryArrayParts
Link copied to clipboard
val Pagination.asUrlQueryArrayParts: Array<Pair<String, String>>
asUrlQueryParts
Link copied to clipboard
val Pagination.asUrlQueryParts: Map<String, String>
changeResults
Link copied to clipboard
fun <I, O> PaginationResult<I>.changeResults(data: List<O>): PaginationResult<O>
changeResultsUnchecked
Link copied to clipboard
fun <I, O> PaginationResult<I>.changeResultsUnchecked(data: List<O>): PaginationResult<O>
currentPageIfNotEmpty
Link copied to clipboard
inline fun <T> PaginationResult<T>.currentPageIfNotEmpty(): PaginationResult<T>?
firstIndex
Link copied to clipboard
val Pagination.firstIndex: Int

First number in index of objects. It can be used as offset for databases or other data sources

intersect
Link copied to clipboard
fun Pagination.intersect(other: Pagination): Pagination?
fun <T : Comparable<T>> ClosedRange<T>.intersect(other: ClosedRange<T>): Pair<T, T>?
isFirstPage
Link copied to clipboard
val Pagination.isFirstPage: Boolean

Logical shortcut for comparison that page is 0

lastIndex
Link copied to clipboard
val Pagination.lastIndex: Int

Last number in index of objects. In fact, one Pagination object represent data in next range:

lastIndexExclusive
Link copied to clipboard
val Pagination.lastIndexExclusive: Int

Last number in index of objects. In fact, one Pagination object represent data in next range:

limitClause
Link copied to clipboard
fun Pagination.limitClause(): String
nextPage
Link copied to clipboard
inline fun Pagination.nextPage(): SimplePagination
nextPageIfNotEmpty
Link copied to clipboard
inline fun PaginationResult<*>.nextPageIfNotEmpty(): SimplePagination?
optionallyReverse
Link copied to clipboard
fun Pagination.optionallyReverse(objectsCount: Int, reverse: Boolean): Pagination
fun Pagination.optionallyReverse(objectsCount: Long, reverse: Boolean): Pagination
reverse
Link copied to clipboard
fun Pagination.reverse(datasetSize: Long): SimplePagination

Example:

fun Pagination.reverse(objectsCount: Int): SimplePagination

Shortcut for reverse

thisPageIfNotEmpty
Link copied to clipboard
inline fun <T> PaginationResult<T>.thisPageIfNotEmpty(): PaginationResult<T>?