1
2
3
4
5
6 package dev.metaschema.databind.codegen.typeinfo;
7
8 import com.squareup.javapoet.AnnotationSpec;
9
10 import java.lang.annotation.Annotation;
11
12 import dev.metaschema.core.model.IFieldInstanceGrouped;
13 import dev.metaschema.databind.model.annotations.BoundGroupedField;
14 import edu.umd.cs.findbugs.annotations.NonNull;
15
16 public class GroupedFieldInstanceTypeInfo
17 extends AbstractGroupedNamedModelInstanceTypeInfo<IFieldInstanceGrouped>
18 implements IGroupedFieldInstanceTypeInfo {
19
20
21
22
23
24
25
26
27
28
29 public GroupedFieldInstanceTypeInfo(
30 @NonNull IFieldInstanceGrouped modelInstance,
31 @NonNull IChoiceGroupTypeInfo choiceGroupTypeInfo) {
32 super(modelInstance, choiceGroupTypeInfo);
33 }
34
35 @Override
36 protected Class<? extends Annotation> getBindingAnnotation() {
37 return BoundGroupedField.class;
38 }
39
40 @Override
41 protected void applyInstanceAnnotation(
42 @NonNull AnnotationSpec.Builder instanceAnnotation,
43 @NonNull AnnotationSpec.Builder choiceGroupAnnotation) {
44 choiceGroupAnnotation.addMember("fields", "$L", instanceAnnotation.build());
45 }
46 }