required

protected open fun <T> required(beforeGet: DslValue<T, *>.(T?) -> Unit = {}, beforeSet: DslValue<T, *>.(T?) -> Unit = {}, getTransform: (T) -> T = { it }, setTransform: (T) -> T = { it }, validateGet: KProperty<*>.(T) -> Boolean = { true }, validateSet: KProperty<*>.(T) -> Boolean = { true }, getBypassedHooksValue: (DslValue.BypassedHooks<T>) -> Unit = {}, messageBuilder: KProperty<*>.() -> Any = { "Property $name is required and cannot be null." }): ValueProperty<T?, T>(source)

Creates a required (non-null) property delegate.

Parameters

beforeGet

Pre-hook before getting the value.

beforeSet

Pre-hook before setting the value.

getTransform

Transformation applied on get.

setTransform

Transformation applied on set.

validateGet

Validation for get operation after transformation.

validateSet

Validation for set operation after transformation.

getBypassedHooksValue

Function to get the DslValue.BypassedHooks instance.

messageBuilder

Error message builder.