BaseItems

abstract class BaseItems<out T, out I : BaseItems<T, I>> : Items<T> (source)

Items 的基础抽象类。

提供针对 limitoffsetbatch 三个预处理属性的标准处理,并将配置属性值通过 preprocessingProperties 向子类提供。

Author

ForteScarlet

Inheritors

Constructors

Link copied to clipboard
constructor()

Properties

Link copied to clipboard
protected var batch: Int
Link copied to clipboard
protected var limit: Int
Link copied to clipboard
protected var offset: Int
Link copied to clipboard

根据预处理参数构建得到 Items.PreprocessingProperties 实例。

Link copied to clipboard
protected abstract val self: I

得到作为泛型类型 I 的实例。

Functions

Link copied to clipboard
abstract fun asFlow(): Flow<T>

将当前元素序列转化为 Flow.

Link copied to clipboard
abstract fun asSequence(): Sequence<T>

将当前元素序列转化为 Sequence.

Link copied to clipboard
abstract fun asStream(): Stream<out T>

将当前元素序列转化为 Stream.

Link copied to clipboard
open override fun batch(size: Int): I

批次数量。如果支持批次获取的话,则每批次获取 size 的数。通常 size 0 时有效。

Link copied to clipboard
open fun collect(collector: Consumer<in T>)

阻塞地收集当前序列中的元素。

abstract suspend fun collect(collector: suspend (T) -> Unit)

收集当前数据序列中的元素. collectTo 可能会产生挂起,会直到当前序列中的所有可能产生的元素收集完毕后结束挂起。

Link copied to clipboard
open fun collectAsync(collector: Consumer<in T>): CompletableFuture<Unit>

异步地收集当前序列中的元素。

Link copied to clipboard
open fun <C : MutableCollection<in T>> collectTo(collector: C): C

阻塞地收集当前序列中的元素到目标 collector 中。

Link copied to clipboard
open fun <C : MutableCollection<in T>> collectToAsync(collector: C): CompletableFuture<out C>

异步的将内容元素收集到 collector 中。

Link copied to clipboard
open fun collectToList(): List<T>

阻塞的收集当前序列中的元素到列表中。

Link copied to clipboard

异步收集当前序列中的元素到列表中。

Link copied to clipboard
open override fun limit(count: Int): I

数据限流。取得的数据条数的最大上限。当 count< 0 时无效。

Link copied to clipboard
inline fun <B, T> Items<B>.map(crossinline transform: suspend (B) -> T): Items<T>

转化一个 Items 中的元素类型并得到新的 Items 实例。

Link copied to clipboard
open override fun offset(count: Int): I

数据偏移。从 count 数量之后的数据后开始获取。当 count< 0 时无效。

Link copied to clipboard
inline suspend fun <T, C : MutableCollection<T>> Items<T>.toCollection(collection: C): C

Items 中的元素收集为目标集合 C.

Link copied to clipboard
inline suspend fun <T> Items<T>.toList(): List<T>

Items 中的元素收集为 List.

Link copied to clipboard
fun <B, T> Items<B>.transform(transform: suspend (B) -> T): Items<T>

转化一个 Items 中的元素类型并得到新的 Items 实例。

Link copied to clipboard
@JvmName(name = "transform")
fun <B, T> Items<B>.transformBlocking(transform: (B) -> T): Items<T>

转化一个 Items 中的元素类型并得到新的 Items 实例。

Link copied to clipboard
fun <T> Items<T>.withLimiter(limiter: Limiter): Items<T>

通过 LimiterItems 的预处理参数进行处理。