com.evasion.entity.Don 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 com.evasion.EntityJPA;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
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.PrePersist;
import javax.persistence.Table;
import javax.persistence.Temporal;
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
/**
*
* @author sebastien.glon
*/
@Entity(name=Don.ENTITY_NAME)
@Table(name = Don.ENTITY_NAME)
public class Don extends EntityJPA {
/**
* *
* serialVersionUID.
*/
private static final long serialVersionUID = 1L;
public static final String ENTITY_NAME = "DONNATION_DON";
/**
* Identifiant unique du don.
*/
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
/**
* Personne donatrice.
*/
@ManyToOne
@JoinColumn(name = "person_fk", nullable = false)
private Person donateur;
/**
* Montaont du don.
*/
@Column(nullable = false)
private Long montant;
/**
* Commentaire d'accompagnement du don en provenance du donateur.
*/
private String commentaireDonateur;
/**
* Commentaire du beneficiaire pour le suivi du traitement.
*/
private String commentaireBeneficiaire;
/**
* Date d'enregistrement de la promesse.
*/
@Temporal(javax.persistence.TemporalType.DATE)
private Calendar datePromesseInternal;
/**
* Date de confirmation.
*/
@Temporal(javax.persistence.TemporalType.DATE)
private Calendar dateConfirmInternal;
/**
* Etat de validation.
*/
private boolean valide;
/**
* Constructeur par defaut pour la persistence.
*/
protected Don() {
}
/**
* Constructeur avec les champs obligatoire.
* @param person donateur.
* @param montant montant du don.
* @param commentaireDonateur commentaire d'accompagnement du donateur
* (optionel).
*/
public Don(Person person, Long montant, String commentaireDonateur) {
this.donateur = person;
this.montant = montant;
this.commentaireDonateur = commentaireDonateur;
}
/**
* Constructeur avec les champs obligatoire.
* @param person donateur.
* @param montant montant du don.
*/
public Don(Person person, Long montant) {
this.donateur = person;
this.montant = montant;
}
@SuppressWarnings("PMD.UnusedPrivateMethod")
@edu.umd.cs.findbugs.annotations.SuppressWarnings("UPM_UNCALLED_PRIVATE_METHOD")
@PrePersist
private void initDatePromess() {
datePromesseInternal = Calendar.getInstance();
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getCommentaireClient() {
return commentaireDonateur;
}
public void setCommentaireClient(String commentaireClient) {
this.commentaireDonateur = commentaireClient;
}
public String getCommentaireReceveur() {
return commentaireBeneficiaire;
}
public void setCommentaireReceveur(String commentaireReceveur) {
this.commentaireBeneficiaire = commentaireReceveur;
}
public Calendar getDateConfirmInternal() {
return dateConfirmInternal;
}
public void setDateConfirmInternal(Calendar dateConfirmInternal) {
this.dateConfirmInternal = dateConfirmInternal;
}
public Date getDateConfirm() {
if (getDateConfirmInternal() == null) {
return null;
} else {
return getDateConfirmInternal().getTime();
}
}
public void setDateConfirm(Date dateConfirm) {
Calendar cal = new GregorianCalendar();
cal.setTime(dateConfirm);
this.setDateConfirmInternal(cal);
}
public Calendar getDatePromesseInternal() {
return datePromesseInternal;
}
public void setDatePromesseInternal(Calendar datePromesseInternal) {
this.datePromesseInternal = datePromesseInternal;
}
public Date getDatePromesse() {
if (getDatePromesseInternal() == null) {
return null;
} else {
return getDatePromesseInternal().getTime();
}
}
public void setDatePromesse(Date datePromesse) {
Calendar cal = new GregorianCalendar();
cal.setTime(datePromesse);
this.setDatePromesseInternal(cal);
}
public Long getMontant() {
return montant;
}
public void setMontant(Long montant) {
this.montant = montant;
}
public Person getPerson() {
return donateur;
}
public void setPerson(Person person) {
this.donateur = person;
}
public boolean isValide() {
return valide;
}
public void setValide(boolean valide) {
this.valide = valide;
}
/**
* {@inheritDoc }
*/
@Override
public boolean equals(final Object obj) {
if (obj == null) {
return false;
}
if (this == obj) {
return true;
}
if (!(obj instanceof Don)) {
return false;
}
Don rhs = (Don) obj;
return new EqualsBuilder().append(this.donateur, rhs.donateur).
append(this.getDatePromesseInternal(), rhs.datePromesseInternal).
isEquals();
}
/**
* @{@inheritDoc }
*/
@Override
public int hashCode() {
return new HashCodeBuilder(17, 37).append(this.donateur).append(this.getDatePromesseInternal()).toHashCode();
}
/**
* @{@inheritDoc }
*/
@Override
public String toString() {
return this.getClass().getName() + "[id=" + id
+ " person=" + donateur
+ " montant=" + montant
+ " commentaireClient=" + commentaireDonateur
+ " commentaireReceveur=" + commentaireBeneficiaire
+ " datePromesse=" + getDatePromesse()
+ " dateConfirm=" + getDateConfirm()
+ "]";
}
}