1 package org.oxerr.jackson.module.jsr250;
2
3 import org.apache.logging.log4j.LogManager;
4 import org.apache.logging.log4j.Logger;
5
6 import com.fasterxml.jackson.databind.BeanDescription;
7 import com.fasterxml.jackson.databind.JsonSerializer;
8 import com.fasterxml.jackson.databind.SerializationConfig;
9 import com.fasterxml.jackson.databind.ser.BeanSerializer;
10 import com.fasterxml.jackson.databind.ser.BeanSerializerModifier;
11
12 public class Jsr250BeanSerializerModifier extends BeanSerializerModifier {
13
14 private final Logger log = LogManager.getLogger();
15
16
17
18
19 @Override
20 public JsonSerializer<?> modifySerializer(SerializationConfig config,
21 BeanDescription beanDesc, JsonSerializer<?> serializer) {
22 if (serializer instanceof BeanSerializer) {
23 log.trace("Modifying serializer to RolesAllowedJsonSerializer, for bean type: {}.",
24 beanDesc::getBeanClass);
25 return new Jsr250JsonSerializer((BeanSerializer) serializer);
26 } else {
27 return serializer;
28 }
29 }
30
31 }