- All Superinterfaces:
IAttributable,IConfigurableMessageConstraint,IConstraint,IDescribable,IKeyConstraint
Represents a rule that requires all matching data items found in a Metaschema
data instance to have a unique key.
This rule is similar to the IIndexConstraint in how the keys are
generated, but this constraint type does not persist a named index.
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic final classProvides a builder pattern for constructing a newIUniqueConstraint.Nested classes/interfaces inherited from interface dev.metaschema.core.model.IAttributable
IAttributable.KeyNested classes/interfaces inherited from interface dev.metaschema.core.model.constraint.IConstraint
IConstraint.Level, IConstraint.Type -
Field Summary
Fields inherited from interface dev.metaschema.core.model.IAttributable
DEFAULT_PROPERY_NAMESPACE -
Method Summary
Modifier and TypeMethodDescriptiondefault <T,R> R accept(IConstraintVisitor<T, R> visitor, T state) Used for double dispatch supporting the visitor pattern provided by implementations ofIConstraintVisitor.static IUniqueConstraint.Builderbuilder()Create a new constraint builder.default IConstraint.TypegetType()Get the constraint type.Methods inherited from interface dev.metaschema.core.model.IAttributable
getProperties, getPropertyValues, hasProperty, hasPropertyValueMethods inherited from interface dev.metaschema.core.model.constraint.IConfigurableMessageConstraint
generateMessage, getMessageMethods inherited from interface dev.metaschema.core.model.constraint.IConstraint
getId, getLevel, getRemarks, getSource, getTarget, matchTargetsMethods inherited from interface dev.metaschema.core.model.IDescribable
getDescription, getEffectiveDescription, getEffectiveFormalName, getFormalNameMethods inherited from interface dev.metaschema.core.model.constraint.IKeyConstraint
getKeyFields
-
Method Details
-
getType
Description copied from interface:IConstraintGet the constraint type.- Specified by:
getTypein interfaceIConstraint- Returns:
- the constraint type
-
accept
Description copied from interface:IConstraintUsed for double dispatch supporting the visitor pattern provided by implementations ofIConstraintVisitor.- Specified by:
acceptin interfaceIConstraint- Type Parameters:
T- the Java type of a state object passed to the visitorR- the Java type of the result returned by the visitor methods- Parameters:
visitor- the visitor implementationstate- the state object passed to the visitor- Returns:
- the visitation result
- See Also:
-
builder
Create a new constraint builder.- Returns:
- the builder
-