package org.appfuse.model;



/**
 * Skill class
 *
 * This class is used to represent the parent of
 * a PositionSkill and a ResumeSkill.
 *
 * <p>
 * <a href="Skill.java.html"><i>View Source</i></a>
 * </p>
 *
 * @author <a href="mailto:matt@raibledesigns.com">Matt Raible</a>
 * @version $Revision: 1.1 $ $Date: 2004/03/31 13:04:16 $
 *
 *
 */
public abstract class Skill extends BaseObject {
    //~ Instance fields ========================================================

    private Long id;
    private String name;
    private String lastUsed;
    private Integer yearsExperience;

    //~ Methods ================================================================

    /**
     * Returns the id.
     * @return Long
     *
     * @hibernate.id column="id"
     *  generator-class="increment" unsaved-value="null"
     */
    public Long getId() {
        return id;
    }

    /**
     * Sets the id.
     * @param id The id to set
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * Returns the name.
     * @return String
     *
     * @struts.validator type="required" msgkey="errors.required"
     * @hibernate.property column="name"
     *  not-null="true" unique="false"
     */
    public String getName() {
        return name;
    }

    /**
     * Sets the name.
     * @param name The name to set
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * Returns the last time this skill was used
     * @return String
     * @struts.validator type="required"
     * @hibernate.property column="last_used" not-null="true"
     *
     */
    public String getLastUsed() {
        return lastUsed;
    }

    public void setLastUsed(String lastUsed) {
        this.lastUsed = lastUsed;
    }

    /**
     * Returns the years of experience with this skill
     * @return Integer
     * @struts.validator type="required"
     * @struts.validator type="integer"
     * @hibernate.property column="years_experience" not-null="true"
     */
    public Integer getYearsExperience() {
        return yearsExperience;
    }

    public void setYearsExperience(Integer yearsExperience) {
        this.yearsExperience = yearsExperience;
    }
}