org.codehaus.groovy.grails.orm.hibernate.proxy
Class GroovyAwareJavassistProxyFactory

java.lang.Object
  extended by org.codehaus.groovy.grails.orm.hibernate.proxy.GroovyAwareJavassistProxyFactory
All Implemented Interfaces:
java.io.Serializable, org.hibernate.proxy.ProxyFactory

public class GroovyAwareJavassistProxyFactory
extends java.lang.Object
implements org.hibernate.proxy.ProxyFactory, java.io.Serializable

Hibernate's default proxying mechanism proxies Groovy's getMetaClass() method. To avoid this we customize the proxying creation proxy here and in #GroovyAwareJavassistLazyInitializer.

Since:
1.1.1
See Also:
Serialized Form

Field Summary
protected static java.lang.Class<?>[] NO_CLASSES
           
 
Constructor Summary
GroovyAwareJavassistProxyFactory()
           
 
Method Summary
 org.hibernate.proxy.HibernateProxy getProxy(java.io.Serializable id, org.hibernate.engine.SessionImplementor session)
           
 void postInstantiate(java.lang.String entityName, java.lang.Class persistentClass, java.util.Set interfaces, java.lang.reflect.Method getIdentifierMethod, java.lang.reflect.Method setIdentifierMethod, org.hibernate.type.CompositeType componentIdType)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

NO_CLASSES

protected static final java.lang.Class<?>[] NO_CLASSES
Constructor Detail

GroovyAwareJavassistProxyFactory

public GroovyAwareJavassistProxyFactory()
Method Detail

postInstantiate

public void postInstantiate(java.lang.String entityName,
                            java.lang.Class persistentClass,
                            java.util.Set interfaces,
                            java.lang.reflect.Method getIdentifierMethod,
                            java.lang.reflect.Method setIdentifierMethod,
                            org.hibernate.type.CompositeType componentIdType)
                     throws org.hibernate.HibernateException
Specified by:
postInstantiate in interface org.hibernate.proxy.ProxyFactory
Throws:
org.hibernate.HibernateException

getProxy

public org.hibernate.proxy.HibernateProxy getProxy(java.io.Serializable id,
                                                   org.hibernate.engine.SessionImplementor session)
                                            throws org.hibernate.HibernateException
Specified by:
getProxy in interface org.hibernate.proxy.ProxyFactory
Throws:
org.hibernate.HibernateException