Java tutorial
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package net.paulgray.bbrest.mixins; import java.util.Set; import org.reflections.Reflections; import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; /** * * @author pgray */ public class MixinJacksonHttpMessageConverter extends MappingJackson2HttpMessageConverter { public MixinJacksonHttpMessageConverter(String[] basePackages) { for (String pkg : basePackages) { Reflections reflections = new Reflections(pkg); Set<Class<?>> annotated = reflections.getTypesAnnotatedWith(AutoMixin.class); for (Class<?> mixin : annotated) { AutoMixin am = mixin.getAnnotation(AutoMixin.class); for (Class toMix : am.value()) { this.getObjectMapper().addMixInAnnotations(toMix, mixin); } } } /* for (Map.Entry<Class, Class> entry : mixins.entrySet()) { Class key = entry.getKey(); Class value = entry.getValue(); this.getObjectMapper().getSerializationConfig().addMixInAnnotations(key, value); } */ } }