/*
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
|
*/
|
package com.megatim.fdxconsultation.model.message.systeme;
|
|
import com.megatim.fdxcommons.model.enumeration.TypeActionSysteme;
|
import com.megatim.fdxcommons.model.enumeration.TypeIdMessageSysteme;
|
import com.megatim.fdxcommons.model.enumeration.TypeMessageSysteme;
|
import com.megatim.fdxcommons.model.enumeration.TypeOperation;
|
import com.megatim.fdxconsultation.model.administration.User;
|
import java.io.Serializable;
|
import java.util.Date;
|
import javax.persistence.Column;
|
import javax.persistence.Entity;
|
import javax.persistence.EnumType;
|
import javax.persistence.Enumerated;
|
import javax.persistence.GeneratedValue;
|
import javax.persistence.GenerationType;
|
import javax.persistence.Id;
|
import javax.persistence.JoinColumn;
|
import javax.persistence.ManyToOne;
|
import javax.persistence.SequenceGenerator;
|
import javax.persistence.Table;
|
import javax.persistence.Temporal;
|
import javax.persistence.TemporalType;
|
import lombok.Getter;
|
import lombok.Setter;
|
|
/**
|
*
|
* @author Lenovo P53
|
*/
|
@Entity(name = "MessageSysteme")
|
@Table(name = "FDX_MSG_SYST")
|
@Getter
|
@Setter
|
public class MessageSysteme implements Serializable, Comparable<MessageSysteme> {
|
|
@SequenceGenerator(name = "SEQ_FDX_MSG_SYST",
|
sequenceName = "SEQ_FDX_MSG_SYST",
|
allocationSize = 1,
|
initialValue = 1)
|
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_FDX_MSG_SYST")
|
@Column(name = "ID")
|
@Id
|
private Long id;
|
|
@Column(name = "TYPE_OPERATION")
|
private TypeOperation typeOperation = TypeOperation.AJOUTER;
|
|
@Column(name = "TYP_ID_MSG_SYST")
|
@Enumerated(EnumType.STRING)
|
private TypeIdMessageSysteme typeIdMessageSysteme;
|
|
@Column(name = "TYP_MSG_SYST")
|
@Enumerated(EnumType.STRING)
|
private TypeMessageSysteme typeMessageSysteme;
|
|
@Column(name = "TYP_ACTION_SYST")
|
@Enumerated(EnumType.STRING)
|
private TypeActionSysteme typeActionSysteme;
|
|
@Column(name = "CONTENU_MSG")
|
private String contenu;
|
|
@ManyToOne
|
@JoinColumn(name = "ID_UTILISATEUR")
|
private User utilisateur;
|
|
@Column(name = "DATE_CREATION")
|
@Temporal(TemporalType.TIMESTAMP)
|
private Date dateCreation;
|
|
@Column(name = "USER_CREATION")
|
private String utilisateurCreation;
|
|
@Column(name = "DATE_DERN_MOD")
|
@Temporal(TemporalType.TIMESTAMP)
|
private Date dateDerniereModification;
|
|
@Column(name = "USER_UPDATE")
|
private String utilisateurModification;
|
|
@Column(name = "DATE_SUPPR")
|
@Temporal(TemporalType.TIMESTAMP)
|
private Date dateSuppression;
|
|
@Column(name = "USER_DELETE")
|
private String utilisateurSuppression;
|
|
public MessageSysteme() {}
|
|
@Override
|
public boolean equals(Object parameter) {
|
|
// Si le parametre est null
|
if(parameter == null) return false;
|
|
// Si le parametre n'est pas de l'instance
|
if(!(parameter instanceof MessageSysteme)) return false;
|
|
// On caste
|
MessageSysteme casted = (MessageSysteme) parameter;
|
|
// Si le code du parametre est vide
|
if(casted.id == null) return false;
|
|
// Si le code du parametre en cours est vide
|
if(id == null) return false;
|
|
// On retourne la comparaison des id
|
return id.equals(casted.id);
|
}
|
|
/*
|
* (non-Javadoc)
|
* @see java.lang.Comparable#compareTo(java.lang.Object)
|
*/
|
@Override
|
public int compareTo(MessageSysteme parameter) {
|
|
// Si le parametre est null
|
if(parameter == null) return -1;
|
|
// Si le code du parametre est vide
|
if(parameter.id == null) return -1;
|
|
// Si le code du parametre en cours est vide
|
if(id == null) return 1;
|
|
// On retourne la comparaison des codes
|
return id.compareTo(parameter.id);
|
}
|
}
|