Class ShapeRecursionValidator

java.lang.Object
software.amazon.smithy.model.validation.AbstractValidator
software.amazon.smithy.model.validation.validators.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 Details

    • ShapeRecursionValidator

      public ShapeRecursionValidator()
  • Method Details

    • validate

      public 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.