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