All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.trails.component.HibernateObjectTable Maven / Gradle / Ivy

package org.trails.component;

import org.apache.tapestry.IAsset;
import org.apache.tapestry.annotations.Asset;
import org.apache.tapestry.annotations.ComponentClass;
import org.apache.tapestry.annotations.InjectObject;
import org.apache.tapestry.annotations.Parameter;
import org.hibernate.criterion.DetachedCriteria;
import org.trails.persistence.HibernatePersistenceService;

@ComponentClass(allowBody = true, allowInformalParameters = true)
public abstract class HibernateObjectTable extends ObjectTable
{

	@Asset(value = "/org/trails/component/ObjectTable.html")
	public abstract IAsset get$template();

	@InjectObject("spring:persistenceService")
	public abstract HibernatePersistenceService getHibernatePersistenceService();

	/**
	 * @return
	 * @todo: remove when the components reuse issue goes away.
	 */
	public HibernatePersistenceService getPersistenceService()
	{
		return getHibernatePersistenceService();
	}

	@Parameter
	public abstract DetachedCriteria getCriteria();

	public abstract void setCriteria(DetachedCriteria criteria);

	public Object getSource()
	{
		if (getInstances() == null)
		{
			return new HibernateTableModel(getClassDescriptor().getType(), getHibernatePersistenceService(), getCriteria());
		}
		return getInstances();
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy