in dnq-transient-store/src/main/kotlin/com/jetbrains/teamsys/dnq/database/ConstraintsUtil.kt [37:56]
fun checkCardinality(e: TransientEntity, md: AssociationEndMetaData): Boolean {
val cardinality = md.cardinality
if (cardinality == AssociationEndCardinality._0_n) return true
val links = e.persistentEntity.getLinks(md.name)
val iter = links.iterator()
var size = 0
while (size < 2 && iter.hasNext()) {
iter.next()
size++
}
return when (cardinality) {
AssociationEndCardinality._0_1 -> size <= 1
AssociationEndCardinality._1 -> size == 1
AssociationEndCardinality._1_n -> size >= 1
else -> throw IllegalArgumentException("Unknown cardinality [$cardinality]")
}
}