conditional
protected open fun <I, O> conditional(defaultValue: I, beforeGet: KProperty<*>.(I) -> Boolean = { true }, beforeSet: KProperty<*>.(O) -> Boolean = { true }, getTransform: KProperty<*>.(I) -> O, setTransform: KProperty<*>.(O) -> I, validateGet: KProperty<*>.(O) -> Boolean = { true }, validateSet: KProperty<*>.(I) -> Boolean = { true }, messageBuilder: KProperty<*>.() -> Any = { "Invalid value for property $name." }): ReadWriteProperty<Any?, O>(source)
Creates a property delegate with validation and transformation logic.
Parameters
default Value
The initial value.
get Transform
Transformation applied on get.
set Transform
Transformation applied on set.
validate Get
Validation for get operation.
validate Set
Validation for set operation.
message Builder
Error message builder.