package org.appfuse.persistence;

import java.util.List;


/**
 * Lookup Data Access Object (DAO) interface.  This is used to lookup values in
 * the database (i.e. for drop-downs).
 * <p/>
 * <p/>
 * <a href="LookupDAO.java.html"><i>View Source</i></a>
 * </p>
 * 
 * @author <a href="mailto:matt@raibledesigns.com">Matt Raible</a>
 * @version $Revision: 1.2 $ $Date: 2004/04/02 08:49:28 $
 */
public interface LookupDAO extends DAO {
    //~ Methods ================================================================

    /**
     * Returns a list of all roles in the database
     * 
     * @return List roles in database
     * @throws DAOException 
     */
    public List getRoles() throws DAOException;

    /**
     * Get a list of of all the templates in the database
     * 
     * @return List list of templates
     */
    public List getAvailableTemplates() throws DAOException;

    /**
     * Get a list of available work statuses from the database.
     * @return a List of populated work status objects
     * @throws DAOException
     * @see org.appfuse.model.WorkStatus
     */
    public List getWorkStatuses() throws DAOException;

    /**
     * Get a list of available degrees from the database.
     * @return a List of populated degree objects
     * @throws DAOException
     * @see org.appfuse.model.Degree
     */
    public List getDegrees() throws DAOException;
}