1
2
3
4
5
6 package dev.metaschema.databind.model.annotations;
7
8 import static java.lang.annotation.RetentionPolicy.RUNTIME;
9
10 import java.lang.annotation.Documented;
11 import java.lang.annotation.ElementType;
12 import java.lang.annotation.Retention;
13 import java.lang.annotation.Target;
14
15 import dev.metaschema.core.model.JsonGroupAsBehavior;
16 import dev.metaschema.core.model.XmlGroupAsBehavior;
17 import edu.umd.cs.findbugs.annotations.NonNull;
18
19
20
21
22 @Documented
23 @Retention(RUNTIME)
24 @Target(ElementType.ANNOTATION_TYPE)
25 public @interface GroupAs {
26
27
28
29
30
31
32 @NonNull
33 String name();
34
35
36
37
38
39
40 @NonNull
41 JsonGroupAsBehavior inJson() default JsonGroupAsBehavior.SINGLETON_OR_LIST;
42
43
44
45
46
47
48 @NonNull
49 XmlGroupAsBehavior inXml() default XmlGroupAsBehavior.UNGROUPED;
50 }