No, interfaces written in Kotlin cannot be created using lambda, which only works for interfaces written in Java. If you want to use lambdas in Kotlin, use a functional type, for example, in your case () -> Unitinstead ValidationBehavior.
Alternatively, write a method that uses a functional type and wraps it in ValidationBehavior:
interface ValidationBehavior {
companion object {
inline operator fun invoke(fn: () -> Unit) = object: ValidationBehavior {
override fun onValidated() = fn()
}
}
fun onValidated()
}
private fun getBehavior(payloadBehavior: String) : ValidationBehavior {
when(BehaviorEnum.valueOf(payloadBehavior)) {
BehaviorEnum.IDLE -> return ValidationBehavior { }
}
}