Kenmegne
7 days ago 23a46b4be35277e06ec89f48730eeb694e686be8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
/*
 * 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);
    }
}