MessageList

Messages 基础实现, 是元素数量不应为空的消息列表。

Functions

Link copied to clipboard
abstract operator fun contains(element: Message.Element<*>): Boolean

判断当前视图中是否包含指定元素。

Link copied to clipboard
open fun forEach(p0: Consumer<in Message.Element<*>>)
Link copied to clipboard
abstract operator fun get(index: Int): Message.Element<*>

通过索引访问目标位置的元素。

abstract operator fun <E : Message.Element<E>> get(key: Message.Key<E>): List<E>

根据 MsgElement 来获取当前消息链中的所有匹配消息。

Link copied to clipboard
abstract fun <E : Message.Element<E>> getFirst(key: Message.Key<E>): E

根据 MsgElement 来获取当前消息链中的第一个匹配类型的消息。 当未寻得指定类型的消息时抛出 NoSuchElementException.

Link copied to clipboard
abstract fun <E : Message.Element<E>> getFirstOrNull(key: Message.Key<E>): E?

根据 MsgElement 来获取当前消息链中的第一个匹配类型的消息。 当未寻得指定类型的消息时得到null。

Link copied to clipboard
abstract fun isEmpty(): Boolean

判断当前视图是否为空。

Link copied to clipboard
abstract operator override fun iterator(): Iterator<Message.Element<*>>

得到当前视图的迭代器。

Link copied to clipboard
abstract operator fun plus(messages: Iterable<Message.Element<*>>): Messages

拼接 MsgElement 列表,得到一个新的 Messages

abstract operator fun plus(element: Message.Element<*>): Messages

拼接一个 MsgElement,得到一个新的 Messages

Link copied to clipboard
Link copied to clipboard
abstract fun toList(): List<Message.Element<*>>

将当前 Messages 转化为不可变的消息元素列表。

Properties

Link copied to clipboard
abstract val size: Int

获取当前视图中的元素数量。

Extensions

Link copied to clipboard
Link copied to clipboard
fun <T> Iterable<T>.asView(): View<T>

构建一个当前 Iterable 对应的 View。 如果当前类型为 Collection, 则相当于 Collection.asView

Link copied to clipboard

判断两个 Messages 是否在元素内容上相同。contentEquals 会依次比较各个元素, 当元素数量、内容、顺序都完全相同时得到 true

Link copied to clipboard
Link copied to clipboard
inline fun <T> View<T>.isNotEmpty(): Boolean

判断当前视图是否不为空。

Link copied to clipboard
Link copied to clipboard
infix inline suspend fun Message.sendTo(support: SendSupport): MessageReceipt

SendSupport.send 的反转形式,可以使用中缀函数写法。

Link copied to clipboard
fun <T> View<T>.toList(): List<T>

View 转化为 List.

Link copied to clipboard

将 元素为 MsgElementIterable 转化为 Messages 实例。