/*
* Copyright (c) 2012. HappyDroids LLC, All rights reserved.
*/
package com.happydroids.jackson;
import com.fasterxml.jackson.databind.JsonDeserializer;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
import com.fasterxml.jackson.databind.module.SimpleModule;
import com.fasterxml.jackson.databind.ser.impl.SimpleBeanPropertyFilter;
import com.fasterxml.jackson.databind.ser.impl.SimpleFilterProvider;
import com.happydroids.server.StackTraceSerializer;
public class HappyDroidObjectMapper extends ObjectMapper {
protected final SimpleModule happyModules;
public HappyDroidObjectMapper() {
super();
configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
happyModules = new SimpleModule();
happyModules.addSerializer(new StackTraceSerializer());
registerModule(happyModules);
setFilters(new SimpleFilterProvider().addFilter("HappyDroidServiceObject", SimpleBeanPropertyFilter.serializeAllExcept("id")));
}
public void addSerializer(JsonSerializer serializer) {
happyModules.addSerializer(serializer);
registerModule(happyModules);
}
public void addDeserializer(Class<Class> clazz, JsonDeserializer<Class> deserializer) {
happyModules.addDeserializer(clazz, deserializer);
registerModule(happyModules);
}
}