1 package io.swagger.v3.oas.annotations.media;
2
3 import io.swagger.v3.oas.annotations.OpenAPI31;
4
5 import java.lang.annotation.Inherited;
6 import java.lang.annotation.Repeatable;
7 import java.lang.annotation.Retention;
8 import java.lang.annotation.RetentionPolicy;
9 import java.lang.annotation.Target;
10
11 import static java.lang.annotation.ElementType.ANNOTATION_TYPE;
12 import static java.lang.annotation.ElementType.FIELD;
13 import static java.lang.annotation.ElementType.METHOD;
14 import static java.lang.annotation.ElementType.PARAMETER;
15 import static java.lang.annotation.ElementType.TYPE;
16
17
24 @Target({FIELD, METHOD, PARAMETER, TYPE, ANNOTATION_TYPE})
25 @Retention(RetentionPolicy.RUNTIME)
26 @Inherited
27 @Repeatable(DependentSchemas.class)
28 @OpenAPI31
29 public @interface DependentSchema {
30
35 String name() default "";
36
37
44 Schema schema() default @Schema();
45
46
53 ArraySchema array() default @ArraySchema();
54
55 }
56