Package com.embabel.agent.core
Class ValidatedPropertyDefinition
-
- All Implemented Interfaces:
-
com.embabel.agent.core.PropertyDefinition
public final class ValidatedPropertyDefinition implements 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) ) )
-
-
Field Summary
Fields Modifier and Type Field Description private final Stringnameprivate final Stringtypeprivate final Cardinalitycardinalityprivate final Stringdescriptionprivate final Map<String, String>metadataprivate final List<PropertyValidationRule>validationRules
-
Constructor Summary
Constructors Constructor Description ValidatedPropertyDefinition(String name, String type, Cardinality cardinality, String description, Map<String, String> metadata, List<PropertyValidationRule> validationRules)ValidatedPropertyDefinition(String name, String type, Cardinality cardinality, String description, Map<String, String> metadata)ValidatedPropertyDefinition(String name, String type, Cardinality cardinality, String description)ValidatedPropertyDefinition(String name, String type, Cardinality cardinality)ValidatedPropertyDefinition(String name, String type)ValidatedPropertyDefinition(String name)
-
Method Summary
Modifier and Type Method Description StringgetName()final StringgetType()CardinalitygetCardinality()StringgetDescription()Map<String, String>getMetadata()Semantic metadata for this property. final List<PropertyValidationRule>getValidationRules()List of validation rules to apply to mentions of this property final BooleanisValid(String mention)Validate a mention against all rules defined for this property. final StringfailureReason(String mention)Get the first validation failure reason, if any. -
-
Constructor Detail
-
ValidatedPropertyDefinition
ValidatedPropertyDefinition(String name, String type, Cardinality cardinality, String description, Map<String, String> metadata, List<PropertyValidationRule> validationRules)
-
ValidatedPropertyDefinition
ValidatedPropertyDefinition(String name, String type, Cardinality cardinality, String description, Map<String, String> metadata)
-
ValidatedPropertyDefinition
ValidatedPropertyDefinition(String name, String type, Cardinality cardinality, String description)
-
ValidatedPropertyDefinition
ValidatedPropertyDefinition(String name, String type, Cardinality cardinality)
-
ValidatedPropertyDefinition
ValidatedPropertyDefinition(String name)
-
-
Method Detail
-
getCardinality
Cardinality getCardinality()
-
getDescription
String getDescription()
-
getMetadata
Map<String, String> getMetadata()
Semantic metadata for this property. Populated from @Semantics annotation on the field. Keys and values are strings; common keys include:
predicate: Natural language predicate (e.g., "works at")inverse: Inverse predicate (e.g., "employs")aliases: Comma-separated alternative phrasings
-
getValidationRules
final List<PropertyValidationRule> getValidationRules()
List of validation rules to apply to mentions of this property
-
isValid
final Boolean isValid(String mention)
Validate a mention against all rules defined for this property.
- Parameters:
mention- The mention text to validate- Returns:
true if all rules pass, false otherwise
-
failureReason
final String failureReason(String mention)
Get the first validation failure reason, if any.
- Parameters:
mention- The mention text to validate- Returns:
The failure reason, or null if all rules pass
-
-
-
-