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.

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.