Field Def Builder
Builder for constructing field definitions in a configuration schema.
This class provides a DSL for defining field-level validation, default values, custom loaders, and other configuration metadata. It supports both method chaining and block-style configuration.
Usage Examples
Method Chaining
override fun configure(def: FieldDefBuilder<AppConfig>) {
def.field(AppConfig::port)
.default(8080)
.range(1..65535)
.validate { require(it > 0) }
}Content copied to clipboard
Block Style
override fun configure(def: FieldDefBuilder<AppConfig>) {
def.field(AppConfig::apiKey) {
required()
notBlank()
}
}Content copied to clipboard
Mixed Style
override fun configure(def: FieldDefBuilder<AppConfig>) {
def.field(AppConfig::timeout)
.default(30)
.range(1L..300L)
def.field(AppConfig::debugMode) {
default(false)
}
}Content copied to clipboard
Parameters
T
the configuration data class type