Subversion Repositories Integrator Subversion

Rev

Rev 106 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
106 espaco 1
package br.com.ec.domain.model;
2
 
3
import java.io.Serializable;
4
import java.util.Date;
5
 
6
import javax.persistence.Column;
7
import javax.persistence.EmbeddedId;
8
import javax.persistence.Entity;
9
import javax.persistence.JoinColumn;
10
import javax.persistence.ManyToOne;
11
import javax.persistence.MapsId;
12
import javax.persistence.Table;
13
import javax.persistence.Transient;
14
 
15
import org.hibernate.annotations.ForeignKey;
16
 
195 espaco 17
import br.com.ec.core.generic.identidade.Identidade;
18
import br.com.ec.core.util.VerificadorUtil;
106 espaco 19
 
20
@Entity
21
@Table(name="sec_unitopico_usuario", schema="sc_sec")
22
public class UniversidadeTopicoUsuario implements Serializable, Identidade {
23
 
24
        private static final long serialVersionUID = 1L;
25
 
26
        private UniversidadeTopicoUsuarioId universidadeTopicoUsuarioId;
27
        private UniversidadeTopico topico;
28
        private Usuario usuario;
29
        private Date ultimoAcesso;
30
 
31
        public UniversidadeTopicoUsuario() {
32
                this.universidadeTopicoUsuarioId = new UniversidadeTopicoUsuarioId();
33
        }
34
 
35
        public UniversidadeTopicoUsuario(UniversidadeTopicoUsuarioId universidadeTopicoUsuarioId) {
36
                this.universidadeTopicoUsuarioId = universidadeTopicoUsuarioId;
37
        }
38
 
39
        public UniversidadeTopicoUsuario(UniversidadeTopico topico, Usuario usuario) {
40
                universidadeTopicoUsuarioId = new UniversidadeTopicoUsuarioId();
41
                setTopico(topico);
42
                setUsuario(usuario);
43
        }
44
 
45
        @Override
46
        @Transient
47
        public Object getId() {
48
                return getUniversidadeTopicoUsuarioId();
49
        }
50
        @Override
51
        public void setId(Object id) {
52
                this.universidadeTopicoUsuarioId = (UniversidadeTopicoUsuarioId) id;
53
        }
54
 
55
        @EmbeddedId
56
        public UniversidadeTopicoUsuarioId getUniversidadeTopicoUsuarioId() {
57
                return universidadeTopicoUsuarioId;
58
        }
59
        public void setUniversidadeTopicoUsuarioId(UniversidadeTopicoUsuarioId universidadeTopicoUsuarioId) {
60
                this.universidadeTopicoUsuarioId = universidadeTopicoUsuarioId;
61
        }
62
 
63
        @ManyToOne
64
        @ForeignKey(name="fk_unitopicousuario_unitopico")
65
        @MapsId(value="sequencialTopico")
66
        @JoinColumn(name = "seq_unitopico", nullable = false)
67
        public UniversidadeTopico getTopico() {
68
                return topico;
69
        }
70
        public void setTopico(UniversidadeTopico topico) {
71
                if (VerificadorUtil.naoEstaNulo(topico)) {
72
                        universidadeTopicoUsuarioId.setSequencialTopico(topico.getSequencial());
73
                }
74
                this.topico = topico;
75
        }
76
 
77
        @ManyToOne
78
        @ForeignKey(name="fk_unitopicousuario_usuario")
79
        @MapsId(value="sequencialUsuario")
80
        @JoinColumn(name = "seq_usuario", nullable=false)
81
        public Usuario getUsuario() {
82
                return usuario;
83
        }
84
        public void setUsuario(Usuario usuario) {
85
                if (VerificadorUtil.naoEstaNulo(usuario)) {
86
                        universidadeTopicoUsuarioId.setSequencialUsuario(usuario.getSequencial());
87
                }
88
                this.usuario = usuario;
89
        }
90
 
91
        @Column(name="dth_acesso")
92
        public Date getUltimoAcesso() {
93
                return ultimoAcesso;
94
        }
95
        public void setUltimoAcesso(Date ultimoAcesso) {
96
                this.ultimoAcesso = ultimoAcesso;
97
        }
98
 
99
        @Override
100
        public int hashCode() {
101
                final int prime = 31;
102
                int result = 1;
103
                result = prime * result + ((universidadeTopicoUsuarioId == null) ? 0 : universidadeTopicoUsuarioId.hashCode());
104
                return result;
105
        }
106
 
107
        @Override
108
        public boolean equals(Object obj) {
109
                if (this == obj)
110
                        return true;
111
                if (obj == null)
112
                        return false;
113
                if (getClass() != obj.getClass())
114
                        return false;
115
                UniversidadeTopicoUsuario other = (UniversidadeTopicoUsuario) obj;
116
                if (universidadeTopicoUsuarioId == null) {
117
                        if (other.universidadeTopicoUsuarioId != null)
118
                                return false;
119
                } else if (!universidadeTopicoUsuarioId.equals(other.universidadeTopicoUsuarioId))
120
                        return false;
121
                return true;
122
        }
123
 
124
}