package com.googlecode.tawus.hibernate.internal.services; import org.apache.tapestry5.ioc.services.PropertyAccess; import org.apache.tapestry5.ioc.services.TypeCoercer; import com.googlecode.tawus.hibernate.services.HibernateSessionManager; import com.googlecode.tawus.hibernate.services.SearchCriteriaConverter; import com.googlecode.tawus.services.EntityDAO; import com.googlecode.tawus.services.EntityDAOSource; public class HibernateEntityDAOSource implements EntityDAOSource { private TypeCoercer typeCoercer; private PropertyAccess propertyAccess; private SearchCriteriaConverter converter; private HibernateSessionManager sessionManager; public HibernateEntityDAOSource(HibernateSessionManager sessionManager, PropertyAccess propertyAccess, TypeCoercer typeCoercer, SearchCriteriaConverter converter) { this.sessionManager = sessionManager; this.propertyAccess = propertyAccess; this.typeCoercer = typeCoercer; this.converter = converter; } @Override public <E> EntityDAO<E> get(Class<E> entityClass) { return new HibernateEntityDAOImpl<E>(sessionManager, propertyAccess, typeCoercer, converter, entityClass); } }