package org.jboss.seam.trinidad;
import org.jboss.seam.framework.HibernateEntityQuery;
import org.jboss.seam.framework.Query;
public class HibernateEntityCollectionModel extends SeamCollectionModel
{
private HibernateEntityQuery hibernateEntityQuery;
public HibernateEntityCollectionModel(HibernateEntityQuery query)
{
this.hibernateEntityQuery = query;
}
@Override
protected Query getQuery()
{
return hibernateEntityQuery;
}
@Override
public Object getRowKey()
{
if (getRowIndex() == -1)
{
return null;
}
else
{
return HibernateEntityKeyManager.instance().getKey(getRowIndex() - getFirstResult(), getWrappedList(), hibernateEntityQuery.getSession());
}
}
@Override
public void setRowKey(Object rowKey)
{
if (rowKey == null)
{
setRowIndex(-1);
}
else
{
setRowIndex(HibernateEntityKeyManager.instance().getIndex((Integer) rowKey, getWrappedList(), hibernateEntityQuery.getSession()) + getFirstResult());
}
}
}