conditional
protected open fun <I, O> conditional(initial: I, beforeGet: DslValue<O, *>.(I) -> Boolean = { true }, beforeSet: DslValue<O, *>.(O) -> Boolean = { true }, getTransform: (I) -> O, setTransform: (O) -> I, validateGet: KProperty<*>.(O) -> Boolean = { true }, validateSet: KProperty<*>.(I) -> Boolean = { true }, getBypassedHooksValue: (DslValue.BypassedHooks<O>) -> Unit = {}, messageBuilder: KProperty<*>.() -> Any = { "Invalid value for property $name." }): ValueProperty<I, O>(source)
Creates a property delegate with validation and transformation logic.
Parameters
initial
The initial value.
before Get
Pre-check before getting the value.
before Set
Pre-check before setting the value.
get Transform
Transformation applied on get.
set Transform
Transformation applied on set.
validate Get
Validation for get operation after transformation.
validate Set
Validation for set operation after transformation.
get Bypassed Hooks Value
Function to get the DslValue.BypassedHooks instance.
message Builder
Error message builder.