package org.ovirt.engine.core.utils.serialization.json;
import org.codehaus.jackson.map.BeanProperty;
import org.codehaus.jackson.map.DeserializationConfig;
import org.codehaus.jackson.map.DeserializerProvider;
import org.codehaus.jackson.map.JsonDeserializer;
import org.codehaus.jackson.map.JsonMappingException;
import org.codehaus.jackson.map.deser.BeanDeserializerFactory;
import org.codehaus.jackson.map.util.EnumResolver;
import org.codehaus.jackson.type.JavaType;
public class JsonObjectDeserializerFactory extends BeanDeserializerFactory {
public JsonObjectDeserializerFactory() {
super(null);
}
public JsonDeserializer<?> createEnumDeserializer(DeserializationConfig config,
DeserializerProvider p,
JavaType type, BeanProperty property)
throws JsonMappingException {
EnumResolver<?> resolver = EnumResolver.constructUnsafeUsingToString(type.getRawClass());
return new JsonEnumDeserializer(resolver);
}
}