ifNotNull - håndtering av nullable verdier
ifNotNull brukes for å trygt håndtere verdier som kan være null.
Innholdet vises kun hvis verdien finnes, og du får tilgang til den ikke-nullable verdien inne i blokken.
Grunnleggende bruk
ifNotNull(nullableVerdi) { verdi ->
// Her er verdi garantert ikke null
paragraph {
text(bokmal { +"Verdien er: " + verdi })
}
}
Flere nullable verdier
Du kan sjekke flere nullable verdier samtidig. Blokken kjøres kun hvis alle verdiene finnes:
ifNotNull(trygdetidFom, trygdetidTom) { fom, tom ->
paragraph {
text(
bokmal {
+ "Du har vært medlem av folketrygden fra "
+ fom.format() + " til " + tom.format() + "."
}
)
}
}
Med alternativ (orShow)
Bruk orShow for å vise innhold når verdien er null:
ifNotNull(avtaleland) { land ->
paragraph {
text(bokmal { +"Vedtaket er gjort etter avtalen med " + land + "." })
}
}.orShow {
paragraph {
text(bokmal { +"Vedtaket er gjort etter norsk lov." })
}
}
Kjeding med orIfNotNull
For å prøve flere nullable verdier i rekkefølge:
ifNotNull(primaerAdresse) { adresse ->
text(bokmal { +"Adressen din er: " + adresse })
}.orIfNotNull(sekundaerAdresse) { adresse ->
text(bokmal { +"Alternativ adresse: " + adresse })
}.orShow {
text(bokmal { +"Vi har ingen registrert adresse." })
}
Kombinere med showIf
Du kan nøste ifNotNull og showIf:
ifNotNull(barnetillegg) { bt ->
showIf(bt.beloep.greaterThan(0.expr())) {
paragraph {
text(bokmal { +"Du får " + bt.beloep.format() + " kroner i barnetillegg." })
}
}
}