class ParameterNamePathCaseValidator implements ParameterValidator {

  @Override
  public List<OasViolation> validate(OasValidationContext context, OasObjectPropertyLocation location,
    Parameter oasObject) {

    if (StringUtils.isNotBlank(oasObject.get$ref())) {
      return emptyList();
    }

    if (!"path".equalsIgnoreCase(oasObject.getIn())) {
      return emptyList();
    }

    if (!isMatchCase(expectedCase, oasObject.getName())) {
      return singletonList(new OasViolation(location.property("name"), ERROR + expectedCase));
    }

    return emptyList();
  }

  public  ParameterNamePathCaseValidator(String expectedCase);

}