package org.appfuse.persistence;

import java.util.List;

import org.appfuse.model.ResumeSkill;


/**
 * Skill Data Access Object (DAO) interface.
 */
public interface SkillDAO extends DAO {
    //~ Methods ================================================================
    
    /**
     * Gets a list of resume skills based on a resumeId
     *
     * @param resumeId
     * @return List of resume's skills
     * @throws Exception
     */
    public List getResumeSkills(Long resumeId) throws DAOException;
    
    /**
     * Gets a resumeSkill based on a skill's id
     *
     * @param skillId
     * @return Skill
     * @throws Exception
     */
    public ResumeSkill getResumeSkill(Long skillId) throws DAOException;

    /**
     * Saves a skill's information.  This method is used for
     * both adding and for saving a skill object.
     *
     * @param skill the skill persistable object
     * @throws Exception
     */
    public ResumeSkill saveResumeSkill(ResumeSkill skill) throws DAOException;

    /**
     * Deletes a skill.
     *
     * @param skill
     * @throws Exception
     */
    public void removeResumeSkill(ResumeSkill skill) throws DAOException;
}