Open Source Repository

Home /json/flexjson-2.1 | Repository Home



flexjson/transformer/HibernateTransformer.java
package flexjson.transformer;

import java.lang.reflect.Method;
import java.lang.reflect.InvocationTargetException;

public class HibernateTransformer extends ObjectTransformer {

    protected Class resolveClass(Object obj) {
        return findBeanClassobj );
    }

    public Class<?> findBeanClass(Object object) {
        try {
            Method method = object.getClass().getMethod("getHibernateLazyInitializer");
            Object initializer = method.invokeobject );
            Method pmethod = initializer.getClass().getMethod("getPersistentClass");
            return (Class<?>)pmethod.invokeinitializer );
        catch (IllegalAccessException e) {
        catch (NoSuchMethodException e) {
        catch (InvocationTargetException e) {
        }
        return object.getClass();
    }

}