package com.fasterxml.jackson.datatype.hibernate3;
import org.hibernate.proxy.HibernateProxy;
import com.fasterxml.jackson.databind.*;
import com.fasterxml.jackson.databind.ser.*;
import com.fasterxml.jackson.datatype.hibernate3.Hibernate3Module.Feature;
public class HibernateSerializers extends Serializers.Base
{
protected final boolean _forceLoading;
public HibernateSerializers(int features) {
_forceLoading = Feature.FORCE_LAZY_LOADING.enabledIn(features);
}
@Override
public JsonSerializer<?> findSerializer(SerializationConfig config,
JavaType type, BeanDescription beanDesc)
{
Class<?> raw = type.getRawClass();
if (HibernateProxy.class.isAssignableFrom(raw)) {
return new HibernateProxySerializer(_forceLoading);
}
return null;
}
}