package org.jboss.seam.framework;
/**
* Base class for controller objects which require a persistence
* context object.
*
* @author Gavin King
*
* @param <T> the persistence context class (eg. Session or EntityManager)
*/
public abstract class PersistenceController<T> extends Controller
{
private transient T persistenceContext;
public T getPersistenceContext()
{
if (persistenceContext==null)
{
persistenceContext = (T) getComponentInstance( getPersistenceContextName() );
}
return persistenceContext;
}
public void setPersistenceContext(T persistenceContext)
{
this.persistenceContext = persistenceContext;
}
protected abstract String getPersistenceContextName();
}