ValidatedPropertyDefinition

data class ValidatedPropertyDefinition constructor(val name: String, val type: String = "string", val cardinality: Cardinality = Cardinality.ONE, val description: String = name, val metadata: Map<String, String> = emptyMap(), val validationRules: List<PropertyValidationRule> = emptyList()) : PropertyDefinition

Value property with type-safe validation rules. Extends ValuePropertyDefinition with compile-time checked validation.

Example usage:

ValidatedPropertyDefinition(
name = "name",
validationRules = listOf(
NoVagueReferences(),
LengthConstraint(maxLength = 150)
)
)

Constructors

Link copied to clipboard
constructor(name: String, type: String = "string", cardinality: Cardinality = Cardinality.ONE, description: String = name, metadata: Map<String, String> = emptyMap(), validationRules: List<PropertyValidationRule> = emptyList())

Properties

Link copied to clipboard
open override val cardinality: Cardinality
Link copied to clipboard
open override val description: String
Link copied to clipboard
open override val metadata: Map<String, String>

Semantic metadata for this property. Populated from @Semantics annotation on the field. Keys and values are strings; common keys include:

Link copied to clipboard
open override val name: String
Link copied to clipboard
Link copied to clipboard

List of validation rules to apply to mentions of this property

Functions

Link copied to clipboard
fun failureReason(mention: String): String?

Get the first validation failure reason, if any.

Link copied to clipboard
fun isValid(mention: String): Boolean

Validate a mention against all rules defined for this property.