1 package top.infra.jackson2;
2
3 import com.google.common.collect.Lists;
4
5 import java.util.Optional;
6
7 public class JaxbAnnotationJackson2MapperCustomizerFactory implements Jackson2MapperCustomizerFactory {
8
9 static final String CLASS_JAXB_ANNOTATION_INTROSPECTOR = "com.fasterxml.jackson.module.jaxb.JaxbAnnotationIntrospector";
10 static final String CLASS_JAXB_ANNOTATION_MODULE = "com.fasterxml.jackson.module.jaxb.JaxbAnnotationModule";
11 static final String CLASS_JAXB_ANNOTATION_MODULE_PRIORITY = CLASS_JAXB_ANNOTATION_MODULE + "$Priority";
12
13 @Override
14 public Optional<Jackson2MapperCustomizer> getObject() {
15 return this.newInstanceIfPresent(
16 "top.infra.jackson2.JaxbAnnotationJackson2Customizer",
17 Lists.newArrayList(
18 CLASS_JAXB_ANNOTATION_INTROSPECTOR,
19 CLASS_JAXB_ANNOTATION_MODULE,
20 CLASS_JAXB_ANNOTATION_MODULE_PRIORITY,
21 CLASS_JACKSON2_OBJECT_MAPPER_BUILDER
22 ));
23 }
24 }