Class ShouldHaveUsedTimestampValidator

java.lang.Object
software.amazon.smithy.model.validation.AbstractValidator
software.amazon.smithy.linters.ShouldHaveUsedTimestampValidator
All Implemented Interfaces:
Validator

public final class ShouldHaveUsedTimestampValidator extends AbstractValidator

Validates that shapes that have names that appear to be time values are actually modeled with a timestamp shape.

This validator will check the name of string, integer, float, and long shapes to see if they should have been TimestampShape. It also scans structure members and union members. It uses the member name and ensures the member targets a timestamp shape.

When considering if a name indicates a possible timestamp, the name must have one of the following qualities:

  • Contains the string "timestamp"
  • Begins or Ends with the word "time"
  • Begins or Ends with the word "date"
  • Ends with the word "at"
  • Ends with the word "on"

When checking for one of the above words, the first character may be upper or lower-cased. Words a separated by underscores or a pair of lower-then-upper-cased characters, i.e. wordWord.

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