Class ShapeRecursionValidator

  • All Implemented Interfaces:
    Validator

    public final class ShapeRecursionValidator
    extends AbstractValidator
    Ensures that list, set, and map shapes are not directly recursive, meaning that if they do have a recursive reference to themselves, one or more references that form the recursive path travels through a structure or union shape. And ensures that structure members are not infinitely mutually recursive using the required trait.

    This check removes an entire class of problems from things like code generators where a list of itself or a list of maps of itself is impossible to define.

    • Constructor Detail

      • ShapeRecursionValidator

        public ShapeRecursionValidator()
    • Method Detail

      • validate

        public java.util.List<ValidationEvent> validate​(Model model)
        Description copied from interface: Validator
        Validates a model and returns a list of validation events.
        Parameters:
        model - Model to validate.
        Returns:
        List of validation events.