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.
-
-
Field Summary
-
Fields inherited from interface software.amazon.smithy.model.validation.Validator
MODEL_DEPRECATION, MODEL_ERROR
-
-
Constructor Summary
Constructors Constructor Description ShapeRecursionValidator()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.List<ValidationEvent>
validate(Model model)
Validates a model and returns a list of validation events.-
Methods inherited from class software.amazon.smithy.model.validation.AbstractValidator
createEvent, createEvent, createEvent, createEvent, danger, danger, danger, danger, danger, danger, danger, danger, error, error, error, error, error, error, error, error, getName, note, note, note, note, note, note, note, note, warning, warning, warning, warning, warning, warning, warning, warning
-
-
-
-
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.
-
-