![JAR search and dependency download from the Maven repository](/logo.png)
com.evasion.entity.Don Maven / Gradle / Ivy
/*
* 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()
+ "]";
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy