View Javadoc
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  	 * {@inheritDoc}
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  }