mirror of https://github.com/usbharu/Hideout.git
doc: ドキュメントを追加
This commit is contained in:
parent
949b0a935f
commit
b1cba8b7ae
|
@ -16,9 +16,31 @@
|
|||
|
||||
package dev.usbharu.owl.producer.api
|
||||
|
||||
/**
|
||||
* [OwlProducer]を作成するビルダー
|
||||
*
|
||||
* @param P 作成する[OwlProducer]
|
||||
* @param T [OwlProducer]の構成
|
||||
*/
|
||||
interface OwlProducerBuilder<P : OwlProducer, T : OwlProducerConfig> {
|
||||
/**
|
||||
* 現在の構成を返します
|
||||
*
|
||||
* @return 現在の構成
|
||||
*/
|
||||
fun config(): T
|
||||
|
||||
/**
|
||||
* 構成を適用します
|
||||
*
|
||||
* @param owlProducerConfig 適用する構成
|
||||
*/
|
||||
fun apply(owlProducerConfig: T)
|
||||
|
||||
/**
|
||||
* 適用されている構成を使用して[OwlProducer]のインスタンスを作成します。
|
||||
*
|
||||
* @return 作成された[OwlProducer]
|
||||
*/
|
||||
fun build(): P
|
||||
}
|
|
@ -16,6 +16,15 @@
|
|||
|
||||
package dev.usbharu.owl.producer.api
|
||||
|
||||
/**
|
||||
* [OwlProducerBuilder]と[OwlProducerConfig]を使用して[OwlProducer]のインスタンスを作成します。
|
||||
*
|
||||
* @param P 作成する[OwlProducer]
|
||||
* @param T 作成に使用する[OwlProducerBuilder]
|
||||
* @param C 構成
|
||||
* @param owlProducerBuilder 作成に使用する[OwlProducerBuilder]
|
||||
* @param configBlock 構成
|
||||
*/
|
||||
fun <P : OwlProducer, T : OwlProducerBuilder<P, C>, C : OwlProducerConfig> OWL(
|
||||
owlProducerBuilder: T,
|
||||
configBlock: C.() -> Unit
|
||||
|
|
|
@ -16,5 +16,9 @@
|
|||
|
||||
package dev.usbharu.owl.producer.api
|
||||
|
||||
/**
|
||||
* [OwlProducer]の構成
|
||||
*
|
||||
*/
|
||||
interface OwlProducerConfig {
|
||||
}
|
|
@ -20,9 +20,28 @@ import dev.usbharu.owl.common.property.PropertySerializerFactory
|
|||
import dev.usbharu.owl.producer.api.OwlProducerConfig
|
||||
import io.grpc.Channel
|
||||
|
||||
/**
|
||||
* デフォルトの[dev.usbharu.owl.producer.api.OwlProducer]の構成
|
||||
*
|
||||
*/
|
||||
class DefaultOwlProducerConfig : OwlProducerConfig {
|
||||
/**
|
||||
* gRPCで使用する[Channel]
|
||||
*/
|
||||
lateinit var channel: Channel
|
||||
|
||||
/**
|
||||
* プロデューサー名
|
||||
*/
|
||||
lateinit var name: String
|
||||
|
||||
/**
|
||||
* プロデューサーのホスト名
|
||||
*/
|
||||
lateinit var hostname: String
|
||||
|
||||
/**
|
||||
* [dev.usbharu.owl.common.property.PropertyValue]のシリアライズに使用するファクトリ
|
||||
*/
|
||||
lateinit var propertySerializerFactory: PropertySerializerFactory
|
||||
}
|
Loading…
Reference in New Issue