package com.k_int.npdb.datamodel;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

/**
 * Class Person
 */
@Entity
@Table(name = "PERSON")
public class Person {

	private Long id;
	private String externalId;
	private Source source;
	private String firstname;
	private String lastname;
	private String title;
	private String pretitle;
	private String epithet;
	private String gender;
	private String nationality;
	private String born;
	private String died;
	private String occupation;

	public Person() {
	};

	/**
	 * Get the value of id
	 * 
	 * @return the value of id
	 */
	@Id
	@Column(name = "ID")
	@GeneratedValue(strategy = GenerationType.AUTO)
	public Long getId() {
		return id;
	}

	/**
	 * Get the value of externalId
	 * 
	 * @return the value of externalId
	 */
	@Column(name = "EXTERNAL_ID")
	public String getExternalId() {
		return externalId;
	}

	/**
	 * Get the value of source
	 * 
	 * @return the value of source
	 */
	@ManyToOne
	@JoinColumn(name = "SOURCE_FK")
	public Source getSource() {
		return source;
	}

	/**
	 * Get the value of firstname
	 * 
	 * @return the value of firstname
	 */
	@Column(name = "FIRSTNAME")
	public String getFirstname() {
		return firstname;
	}

	/**
	 * Get the value of lastname
	 * 
	 * @return the value of lastname
	 */
	@Column(name = "LASTNAME")
	public String getLastname() {
		return lastname;
	}

	/**
	 * Get the value of title
	 * 
	 * @return the value of title
	 */
	@Column(name = "TITLE")
	public String getTitle() {
		return title;
	}

	/**
	 * Get the value of pretitle
	 * 
	 * @return the value of pretitle
	 */
	@Column(name = "PRETITLE")
	public String getPretitle() {
		return pretitle;
	}

	/**
	 * Get the value of epithet
	 * 
	 * @return the value of epithet
	 */
	@Column(name = "EPITHET")
	public String getEpithet() {
		return epithet;
	}

	/**
	 * Get the value of gender
	 * 
	 * @return the value of gender
	 */
	@Column(name = "GENDER")
	public String getGender() {
		return gender;
	}

	/**
	 * Get the value of nationality
	 * 
	 * @return the value of nationality
	 */
	@Column(name = "NATIONALITY")
	public String getNationality() {
		return nationality;
	}

	/**
	 * Get the value of born
	 * 
	 * @return the value of born
	 */
	@Column(name = "BORN")
	public String getBorn() {
		return born;
	}

	/**
	 * Get the value of died
	 * 
	 * @return the value of died
	 */
	@Column(name = "DIED")
	public String getDied() {
		return died;
	}

	/**
	 * Get the value of occupation
	 * 
	 * @return the value of occupation
	 */
	@Column(name = "OCCUPATION")
	public String getOccupation() {
		return occupation;
	}

	public void setBorn(String born) {
		this.born = born;
	}

	public void setDied(String died) {
		this.died = died;
	}

	public void setEpithet(String epithet) {
		this.epithet = epithet;
	}

	public void setExternalId(String externalId) {
		this.externalId = externalId;
	}

	public void setFirstname(String firstname) {
		this.firstname = firstname;
	}

	public void setGender(String gender) {
		this.gender = gender;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public void setLastname(String lastname) {
		this.lastname = lastname;
	}

	public void setNationality(String nationality) {
		this.nationality = nationality;
	}

	public void setOccupation(String occupation) {
		this.occupation = occupation;
	}

	public void setPretitle(String pretitle) {
		this.pretitle = pretitle;
	}

	public void setSource(Source source) {
		this.source = source;
	}

	public void setTitle(String title) {
		this.title = title;
	}

	
	
	
}
