インストール
Section titled “インストール”Java 17 以上を使用し、Yacla の各モジュールは同じバージョンに揃えてください。Gradle Kotlin DSL に core と必要な形式のモジュールを追加します。
repositories { maven("https://repo.ririfa.net/maven2")}
dependencies { implementation("net.ririfa:yacla-core:4.2.0") implementation("net.ririfa:yacla-yaml:4.2.0") // JSON も使う場合に追加します。 implementation("net.ririfa:yacla-json:4.2.0")}設定クラスを定義する
Section titled “設定クラスを定義する”import net.ririfa.yacla.annotation.Keyimport net.ririfa.yacla.annotation.Range
data class AppConfig( val version: String = "1.0.0", @Key("server-port") @Range(min = 1, max = 65535) val port: Int = 8080, val debug: Boolean = false)デフォルトのリソースを同梱する
Section titled “デフォルトのリソースを同梱する”アプリケーションに src/main/resources/defaults/config.yml を作成します。
version: "1.0.0"server-port: 8080debug: falseこの version はアプリケーションの設定スキーマのバージョンです。Yacla 本体のバージョンとは独立しています。
import net.ririfa.yacla.Yaclaimport net.ririfa.yacla.yaml.yamlimport java.nio.file.Paths
val config = Yacla.yaml<AppConfig>( resource = "/defaults/config.yml", file = Paths.get("config.yml"), autoUpdate = true)
println(config.port)ファイルがない場合は、必要な親ディレクトリを作成して classpath のリソースをコピーします。初期コピーは既存のファイルを上書きしません。autoUpdate = true の場合、新しいリソースのバージョンを検出すると、設定オブジェクトの構築前にマージします。
相対的なファイルパスはアプリケーションの作業ディレクトリ基準です。リソースのパスはディスク上のパスではなく classpath を指します。
JSON を使う
Section titled “JSON を使う”src/main/resources/defaults/config.json を同梱します。
{ "version": "1.0.0", "server-port": 8080, "debug": false}import net.ririfa.yacla.Yaclaimport net.ririfa.yacla.json.jsonimport java.nio.file.Paths
val config = Yacla.json<AppConfig>( resource = "/defaults/config.json", file = Paths.get("config.json"))次は読み込みと再読み込みを参照してください。