org.hibernate.proxy
Interface ProxyFactory

All Known Implementing Classes:
CGLIBProxyFactory, Dom4jProxyFactory, JavassistProxyFactory, MapProxyFactory

public interface ProxyFactory

Contract for run-time, proxy-based lazy initialization proxies.

Author:
Gavin King

Method Summary
 HibernateProxy getProxy(Serializable id, SessionImplementor session)
          Create a new proxy instance
 void postInstantiate(String entityName, Class persistentClass, Set interfaces, Method getIdentifierMethod, Method setIdentifierMethod, AbstractComponentType componentIdType)
          Called immediately after instantiation of this factory.
 

Method Detail

postInstantiate

void postInstantiate(String entityName,
                     Class persistentClass,
                     Set interfaces,
                     Method getIdentifierMethod,
                     Method setIdentifierMethod,
                     AbstractComponentType componentIdType)
                     throws HibernateException
Called immediately after instantiation of this factory.

Essentially equivalent to contructor injection, but contracted here via interface.

Parameters:
entityName - The name of the entity for which this factory should generate proxies.
persistentClass - The entity class for which to generate proxies; not always the same as the entityName.
interfaces - The interfaces to expose in the generated proxy; HibernateProxy is already included in this collection.
getIdentifierMethod - Reference to the identifier getter method; invocation on this method should not force initialization
setIdentifierMethod - Reference to the identifier setter method; invocation on this method should not force initialization
componentIdType - For composite identifier types, a reference to the type of the identifier property; again accessing the id should generally not cause initialization - but need to bear in mind mappings.
Throws:
HibernateException - Indicates a problem completing post instantiation initialization.

getProxy

HibernateProxy getProxy(Serializable id,
                        SessionImplementor session)
                        throws HibernateException
Create a new proxy instance

Parameters:
id - The id value for the proxy to be generated.
session - The session to which the generated proxy will be associated.
Returns:
The generated proxy.
Throws:
HibernateException - Indicates problems generating the requested proxy.