Skip to content

Commit da3a77e

Browse files
committed
openapi-processor/openapi-processor-spring#198, check generated validation classes
1 parent 968f053 commit da3a77e

3 files changed

Lines changed: 38 additions & 0 deletions

File tree

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,4 @@
11
items:
22
- outputs/api/EnumApi.java
3+
- outputs/validation/Values.java
4+
- outputs/validation/ValueValidator.java
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
package generated.validation;
2+
3+
import jakarta.validation.ConstraintValidator;
4+
import jakarta.validation.ConstraintValidatorContext;
5+
6+
import java.util.Arrays;
7+
8+
public class ValueValidator implements ConstraintValidator<Values, String> {
9+
private String[] values;
10+
11+
@Override
12+
public void initialize (Values constraintAnnotation) {
13+
values = constraintAnnotation.values();
14+
}
15+
16+
@Override
17+
public boolean isValid (String value, ConstraintValidatorContext context) {
18+
return value != null && Arrays.asList(values).contains(value);
19+
}
20+
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
package generated.validation;
2+
3+
import jakarta.validation.Constraint;
4+
import jakarta.validation.Payload;
5+
import java.lang.annotation.*;
6+
7+
@Target({ElementType.FIELD, ElementType.PARAMETER})
8+
@Retention(RetentionPolicy.RUNTIME)
9+
@Constraint(validatedBy = ValueValidator.class)
10+
@Documented
11+
public @interface Values {
12+
String message() default "Invalid value. Should be one of values.";
13+
Class<?>[] groups() default {};
14+
Class<? extends Payload>[] payload() default {};
15+
String[] values() default {};
16+
}

0 commit comments

Comments
 (0)