doc: ドキュメントを追加

This commit is contained in:
usbharu 2024-05-02 11:16:24 +09:00
parent 949b0a935f
commit b1cba8b7ae
4 changed files with 54 additions and 0 deletions

View File

@ -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
}

View File

@ -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

View File

@ -16,5 +16,9 @@
package dev.usbharu.owl.producer.api
/**
* [OwlProducer]の構成
*
*/
interface OwlProducerConfig {
}

View File

@ -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
}