Validation

Set of classes used to perform validation on ECSchemas.

Classes

Name Description  
SchemaValidater Applies EC Rules, see SchemaValidater.ECRuleSet, to a given Schema and reports any violations. Beta
SchemaValidationVisitor A SchemaWalkerVisitor interface implementation that is used to validate ECObjects schemas using Beta

Constants

Name Description  
DiagnosticCodes The unique diagnostic codes for ECObjects rules. Beta
Diagnostics The list of IDiagnostic implementation classes used by the EC rule implementations. Beta
ECRuleSet All schema validation rules that fall under the category of ECObjects. Beta

Global Functions

Name Description  
abstractConstraintMustExistWithMultipleConstraints EC Rule: If multiple constraints exist, an abstract constraint must be defined.  
abstractConstraintMustNarrowBaseConstraints EC Rule: When overriding a RelationshipClass, the derived abstract constraint must narrow the base constraint classes.  
atLeastOneConstraintClassDefined EC Rule: At least on concrete constraint class must be defined in the list of constraint classes.  
constraintClassesDeriveFromAbstractContraint EC Rule: All constraint classes must have a common base class specified in the abstract constraint.  
derivedConstraintsMustNarrowBaseConstraints EC Rule: When overriding a RelationshipClass, derived constraint classes must narrow base constraint classes.  
enumerationTypeUnsupported EC Rule: Enumeration type must be a string or integer  
incompatibleTypePropertyOverride EC Rule: When overriding a class property, the child and base property must be of the same property type (primitive, struct, enumeration, etc...).  
incompatibleUnitPropertyOverride EC Rule: When overriding a kindOfQuantity property, the child and base property units must be the same.  
incompatibleValueTypePropertyOverride EC Rule: When overriding a class primitive property, the child and base property must be of the same type (string, number, etc...).  
mixinAppliedToClassMustDeriveFromConstraint EC Rule: Mixin applied to class must derived from the Mixin appliesTo constraint.  
validateCustomAttributeInstance Validates a custom attribute instance and yields EC-500, EC-501, and EC-502 rule violations.  
validateNavigationProperty Validates Navigation Properties.  
validateSchemaReferences Validates schema references against multiple EC rules.  

Interfaces

Name Description  
BaseRuleSuppressionMap Interface used to represent elements of a rule suppression Beta
IRuleSet Interface used to represent logical collection of IRule instances. Beta
IRuleSuppressionMap Interface used to represent elements of a rule suppression Beta
IRuleSuppressionSet Interface used to represent logical collection of ISuppressionRule instances. Beta

Type Aliases

Name Description  
AnyRuleSuppressionMap  
BaseRule Beta
BaseSuppressionRule Beta
IRule Interface used for all rule implementations used during schema validation. Beta
ISuppressionRule Interface used for all rule suppressions used during schema validation. Beta

Last Updated: 24 August, 2020