Commit 03caca95 authored by Him188's avatar Him188

Add optional params

parent d024d1c9
...@@ -11,9 +11,8 @@ package net.mamoe.mirai.message.data ...@@ -11,9 +11,8 @@ package net.mamoe.mirai.message.data
import kotlin.jvm.JvmOverloads import kotlin.jvm.JvmOverloads
/** /**
* 构一个 [MessageChain] * 构一个 [MessageChain]
* *
* @see MessageChainBuilder * @see MessageChainBuilder
*/ */
...@@ -21,7 +20,34 @@ inline fun buildMessageChain(block: MessageChainBuilder.() -> Unit): MessageChai ...@@ -21,7 +20,34 @@ inline fun buildMessageChain(block: MessageChainBuilder.() -> Unit): MessageChai
return MessageChainBuilder().apply(block).asMessageChain() return MessageChainBuilder().apply(block).asMessageChain()
} }
class MessageChainBuilder @JvmOverloads constructor( /**
* 使用特定的容器大小构建一个 [MessageChain]
*
* @see MessageChainBuilder
*/
inline fun buildMessageChain(initialSize: Int, block: MessageChainBuilder.() -> Unit): MessageChain {
return MessageChainBuilder(initialSize).apply(block).asMessageChain()
}
/**
* 使用特定的容器构建一个 [MessageChain]
*
* @see MessageChainBuilder
*/
inline fun buildMessageChain(
container: MutableCollection<Message>,
block: MessageChainBuilder.() -> Unit
): MessageChain {
return MessageChainBuilder(container).apply(block).asMessageChain()
}
/**
* [MessageChain] 构建器.
*
* @see buildMessageChain
*/
class MessageChainBuilder
@JvmOverloads constructor(
private val container: MutableCollection<Message> = mutableListOf() private val container: MutableCollection<Message> = mutableListOf()
) : MutableCollection<Message> by container, Appendable { ) : MutableCollection<Message> by container, Appendable {
constructor(initialSize: Int) : this(ArrayList<Message>(initialSize)) constructor(initialSize: Int) : this(ArrayList<Message>(initialSize))
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment