Interface IUniqueConstraint

All Superinterfaces:
IAttributable, IConfigurableMessageConstraint, IConstraint, IDescribable, IKeyConstraint

public interface IUniqueConstraint extends 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.

  • Method Details

    • getType

      default IConstraint.Type getType()
      Description copied from interface: IConstraint
      Get the constraint type.
      Specified by:
      getType in interface IConstraint
      Returns:
      the constraint type
    • accept

      default <T, R> R accept(IConstraintVisitor<T,R> visitor, T state)
      Description copied from interface: IConstraint
      Used for double dispatch supporting the visitor pattern provided by implementations of IConstraintVisitor.
      Specified by:
      accept in interface IConstraint
      Type Parameters:
      T - the Java type of a state object passed to the visitor
      R - the Java type of the result returned by the visitor methods
      Parameters:
      visitor - the visitor implementation
      state - the state object passed to the visitor
      Returns:
      the visitation result
      See Also:
    • builder

      @NonNull static IUniqueConstraint.Builder builder()
      Create a new constraint builder.
      Returns:
      the builder