com.evasion.entity.Individual Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of API Show documentation
Show all versions of API Show documentation
API de l'application modulaire evasion-en-ligne
The newest version!
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package com.evasion.entity;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
/**
* Decrit une personne physique.
* @author sebglon
*/
@Entity(name=Individual.ENTITY_NAME)
@Table(name=Individual.ENTITY_NAME)
public class Individual extends Person {
/**
* UID de serialisation.
*/
private static final long serialVersionUID = 1L;
public static final String ENTITY_NAME = "COM_INDIVIDUAL";
/**
* Titre de civilite de la personne physique.
*/
@Enumerated(EnumType.STRING)
@Column(nullable = false)
private Civilite titre;
/**
* Prenom de la personne physique.
*/
@Column(nullable = false)
private String prenom;
/**
* Date de naissance de la personne physique.
*/
@Temporal(TemporalType.DATE)
private Calendar anniversaire = new GregorianCalendar();;
/**
* Constructeur par defaut (utilise par la persistence).
*/
public Individual() {
}
/**
* Constructeur avance.
* @param e {@link Person#email}
* @param civ {@link Individual#titre}
* @param n {@link Person#nom}
* @param p {@link Individual#prenom}
* @param date {@link Individual#anniversaire}
*/
public Individual(final String e, final Civilite civ,
final String n, final String p, final Date date) {
super(n, e);
this.titre = civ;
this.prenom = p;
this.anniversaire.setTime(date);
}
/**
* Getter de la date anniversaire.
* @return la date anniversaire.
*/
public Date getAnniversaire() {
return anniversaire.getTime();
}
/**
* Setter de la date anniversaire.
* @param date date a setter.
*/
public void setAnniversaire(Date date) {
this.anniversaire.setTime(date);
}
/**
* Getter du prenom de la personne.
* @return renvoi le prenom.
*/
public String getPrenom() {
return prenom;
}
/**
* Setter du prenom de la personne.
* @param prenom prenom de la personne.
*/
public void setPrenom(String prenom) {
this.prenom = prenom;
}
/**
* Getter du titre de civilite.
* @return titre de la personne.
*/
public Civilite getTitre() {
return titre;
}
/**
* Setter du titre de civilite.
* @param titre titre de la personne.
*/
public void setTitre(Civilite titre) {
this.titre = titre;
}
/**
* {@inheritDoc }
*/
@Override
public boolean equals(final Object obj) {
if (obj == null) {
return false;
}
if (this == obj) {
return true;
}
if (!( obj instanceof Individual )) {
return false;
}
Individual rhs = (Individual) obj;
return new EqualsBuilder().appendSuper(super.equals(rhs)).
append(this.prenom, rhs.prenom).
append(this.titre, rhs.titre).
append(this.anniversaire, rhs.anniversaire).
isEquals();
}
/**
* @{@inheritDoc }
*/
@Override
public int hashCode() {
return new HashCodeBuilder(17, 37).appendSuper(super.hashCode()).
append(this.titre).
append(this.prenom).
append(this.anniversaire).
toHashCode();
}
}