001package org.apache.fulcrum.security.torque.peer;
002
003import java.sql.Connection;
004import java.util.List;
005
006import org.apache.torque.NoRowsException;
007import org.apache.torque.TooManyRowsException;
008import org.apache.torque.TorqueException;
009import org.apache.torque.criteria.Criteria;
010import org.apache.torque.map.TableMap;
011
012/**
013 * This extension to the marker interface {@linkplain Peer} is to allow for swappable Peer implementations 
014 * in Turbine Torque Manager Implementations.  
015 * 
016 * @param <T>  The data object type used by the Torque PeerImpl class.
017 * 
018 * @author <a href="mailto:gk@apache.org">Georg Kallidis</a>
019 * @version $Id$
020 */
021public interface TorqueTurbinePeer<T>
022    extends Peer
023{
024        
025         TableMap getTableMap() throws TorqueException;
026        
027     List<T> doSelect( Criteria criteria,
028                         Connection connection) throws TorqueException;
029     
030     T retrieveByPK(Integer pk, Connection con)
031                     throws TorqueException, NoRowsException, TooManyRowsException;
032
033}