/* * 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 { @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); } }