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